Demo环境下须要用到Redis+mongodb两种DB配合使用,因此暂时直接使用docker的redids和mongodb镜像,用docker-compose进行联合部署redis
使用的版本以下:mongodb
docker: 使用yum -y install dockerdocker
docker-compose: 使用pip install docker-compose缓存
mongodb: docker pull mongo:3.6.5测试
redis:docker pull redis:4.0.10spa
docker-compose使用的配置文件docker-compose.yml:3d
其中mongodb的entrypoint-initdb.d启动的脚本文件以下:blog
注意事项:ip
1. 安装docker-compose的方式,用了两种安装方式,一种是yum -y install docker-compose,第二种是 pip install docker-compose部署
不想折腾的或者没必要用新的版本的状况下,建议用第一种吧,比较省心。第二种能够安装最新的版本,可是会遇到各类库的版本依赖问题,最多见的就是对于requests的版本依赖,
主要因为docker 和 docker-compose依赖的版本有不一样要求,须要安装其共同版本既要支持docker的版本又要知足docker-compose的版本,不然最容易遇到
ValueError: Timeout value connect was Timeout(connect=None, read=None, total=None), but it must be an int, float or None.的错误
一个比较快捷的解决方案是:
(1). pip uninstall docker-compose ,pip uninstall docker, pip unstall requests(这里是重点,可能已经安装了好几个版本的requests,必须把全部版本都卸载)
(2). pip install docker, pip install docker-compose
使用 pip 自动关联相关版本
2. 在折腾mongodb启动脚本(主要为了启动就建立用户和密码),不断修改测试docker-compose.yml的配置文件时候,须要注意的是,上边yml里边配置,将mongodb的 /data/db 文件夹
映射到了本地,可是当修改完配置文件进行测试时,最好将mongodb /data/db 里生成的文件都清理干净,而且若是使用 docker-compose up 直接观察log输出时,若是测试完退出了docker-compose
终端,必须进行docker-compose down操做,清理掉生成的容器。
以上作法,主要是防止修改前的配置文件已经生成了某些缓存,形成修改配置文件后的执行的依然是缓存的结果