|
1 | 1 | ```shell
|
2 | 2 | # mysql
|
3 |
| -docker run -d --name mysql dockerfile/mysql:latest |
| 3 | +docker run --name mysql -d -v /data/mysql:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:latest |
4 | 4 | # rabbitmq
|
5 |
| -docker run -d --name rabbitmq dockerfile/rabbitmq:latest |
| 5 | +docker run --name rabbitmq -d rabbitmq:latest |
| 6 | + |
6 | 7 | # phantomjs
|
7 |
| -docker run --name phantomjs -d -v `pwd`:/mnt/test --expose 25555 cmfatih/phantomjs:latest /usr/bin/phantomjs --ssl-protocol=any /mnt/test/pyspider/fetcher/phantomjs_fetcher.js 25555 |
| 8 | +docker run --name phantomjs -d binux/pyspider:latest phantomjs |
8 | 9 |
|
9 | 10 | # result worker
|
10 |
| -docker run -d --name result_worker --link mysql:mysql --link rabbitmq:rabbitmq binux/pyspider:latest result_worker |
| 11 | +docker run --name result_worker -m 128m -d --link mysql:mysql --link rabbitmq:rabbitmq binux/pyspider:latest result_worker |
11 | 12 | # processor, run multiple instance if needed.
|
12 |
| -docker run -d --name processor --link mysql:mysql --link rabbitmq:rabbitmq binux/pyspider:latest processor |
| 13 | +docker run --name processor -m 256m -d --link mysql:mysql --link rabbitmq:rabbitmq binux/pyspider:latest processor |
13 | 14 | # fetcher, run multiple instance if needed.
|
14 |
| -docker run -d --name fetcher --link rabbitmq:rabbitmq --link phantomjs:phantomjs binux/pyspider:latest fetcher |
| 15 | +docker run --name fetcher -m 256m -d --link phantomjs:phantomjs --link rabbitmq:rabbitmq binux/pyspider:latest fetcher --no-xmlrpc |
15 | 16 | # scheduler
|
16 |
| -docker run -d --name scheduler --link mysql:mysql --link rabbitmq:rabbitmq binux/pyspider:latest scheduler |
| 17 | +docker run --name scheduler -d --link mysql:mysql --link rabbitmq:rabbitmq binux/pyspider:latest scheduler |
17 | 18 | # webui
|
18 |
| -docker run -d --name webui -p 5000:5000 --link mysql:mysql --link rabbitmq:rabbitmq --link phantomjs:phantomjs --link scheduler:scheduler binux/pyspider:latest webui |
| 19 | +docker run --name webui -m 256m -d -p 5000:5000 --link mysql:mysql --link rabbitmq:rabbitmq --link scheduler:scheduler --link phantomjs:phantomjs binux/pyspider:latest webui |
19 | 20 | ```
|
20 | 21 |
|
21 |
| -or running with [fig](http://www.fig.sh/) with `fig.yml`: |
| 22 | +or running with [Docker Compose](https://docs.docker.com/compose/) with `docker-compose.yml`: |
| 23 | + |
| 24 | +NOTE: It's recommended to run mysql and rabbitmq outside compose as they may not been restarted with pyspider. You can find commands to start mysql and rabbitmq service above. |
22 | 25 |
|
23 | 26 | ```
|
24 |
| -mysql: |
25 |
| - image: dockerfile/mysql:latest |
26 |
| -rabbitmq: |
27 |
| - image: dockerfile/rabbitmq:latest |
28 | 27 | phantomjs:
|
29 |
| - image: cmfatih/phantomjs:latest |
30 |
| - expose: |
31 |
| - - "25555" |
32 |
| - volumes: |
33 |
| - - .:/mnt/test |
34 |
| - command: /usr/bin/phantomjs --ssl-protocol=any /mnt/test/pyspider/fetcher/phantomjs_fetcher.js 25555 |
35 |
| -result_worker: |
36 | 28 | image: binux/pyspider:latest
|
37 |
| - links: |
| 29 | + command: phantomjs |
| 30 | +result: |
| 31 | + image: binux/pyspider:latest |
| 32 | + external_links: |
38 | 33 | - mysql
|
39 | 34 | - rabbitmq
|
40 | 35 | command: result_worker
|
41 | 36 | processor:
|
42 | 37 | image: binux/pyspider:latest
|
43 |
| - links: |
| 38 | + external_links: |
44 | 39 | - mysql
|
45 | 40 | - rabbitmq
|
46 | 41 | command: processor
|
47 | 42 | fetcher:
|
48 | 43 | image: binux/pyspider:latest
|
49 |
| - links: |
| 44 | + external_links: |
50 | 45 | - rabbitmq
|
| 46 | + links: |
51 | 47 | - phantomjs
|
52 | 48 | command : fetcher
|
53 | 49 | scheduler:
|
54 | 50 | image: binux/pyspider:latest
|
55 |
| - links: |
| 51 | + external_links: |
56 | 52 | - mysql
|
57 | 53 | - rabbitmq
|
58 | 54 | command: scheduler
|
59 | 55 | webui:
|
60 | 56 | image: binux/pyspider:latest
|
61 |
| - links: |
| 57 | + external_links: |
62 | 58 | - mysql
|
63 | 59 | - rabbitmq
|
| 60 | + links: |
64 | 61 | - scheduler
|
65 | 62 | - phantomjs
|
66 |
| - volumes: |
67 |
| - - .:/opt/pyspider |
68 | 63 | command: webui
|
69 | 64 | ports:
|
70 | 65 | - "5000:5000"
|
71 | 66 | ```
|
72 | 67 |
|
73 |
| -`fig up` |
| 68 | +`docker-compose up` |
| 69 | + |
| 70 | + |
0 commit comments