运行Scrapy,可能会依赖一下其他的服务,MySQL、Redis、MongoDB等。
我的电脑系统为OSX 10.11.6,下载Docker后,会自动集成Docker-Compose.yml
- 创建一个文件夹初始化docker-compose.yml文件。
$ cd ~ && mkdir init-env && cd init-env && touch docker-compose.yml
- 编辑docker-compose.yml,添加所需的服务,代码如下:
db:
container_name: mysql
image: mysql:5.7.19
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: new.1234
redis:
container_name: redis
image: redis:2.8
restart: always
ports:
- "6379:6379"
mongo:
container_name: mongo_db
image: mongo:3.2
restart: always
ports:
- "27017:27017"
splash:
container_name: splash
image: scrapinghub/splash
restart: always
ports:
- "8050:8050"
- "8051:8051"
保存退出运行
docker-compose up -d
说明:会启动三个Docker实例分别为MySQL、Redis、MongoDB。其中MySQL的初始账号密码为root/123456。
若想关闭实例则输入docker-compose stop
,删除实例为docker-compose rm
。
- 启动成功可以看到有三个实例被创建并且可以被使用了
docker-compose ps
image.png