博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker-compose部署mongodb+redis遇到的问题
阅读量:4709 次
发布时间:2019-06-10

本文共 1277 字,大约阅读时间需要 4 分钟。

Demo环境下需要用到Redis+mongodb两种DB配合使用,所以暂时直接使用docker的redids和mongodb镜像,用docker-compose进行联合部署

使用的版本如下:

docker:  使用yum -y install docker

docker-compose: 使用pip install docker-compose

mongodb: docker pull mongo:3.6.5

redis:docker pull redis:4.0.10

 

docker-compose使用的配置文件docker-compose.yml:

其中mongodb的entrypoint-initdb.d启动的脚本文件如下:

 

注意事项:

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操作,清理掉生成的容器。

以上做法,主要是防止修改前的配置文件已经生成了某些缓存,造成修改配置文件后的执行的依然是缓存的结果

 

 

转载于:https://www.cnblogs.com/tyoyi/p/9270656.html

你可能感兴趣的文章
文件系统基础
查看>>
JDBC优化策略总结
查看>>
动态链接过程
查看>>
常用网址、软件收集
查看>>
linux pip3本地安装
查看>>
关于iOS适配问题
查看>>
C语言博客作业--嵌套循环
查看>>
内部类 ( Inner Class )
查看>>
Linux 使用者 群组 权限
查看>>
【PAT】B1047 编程团体赛(20 分)
查看>>
iPad软件提交注意事项
查看>>
约束和异常处理
查看>>
css 布局
查看>>
RESTful风格化
查看>>
C# 多线程学习系列二
查看>>
如何将你的github仓库部署到github pages(转)
查看>>
几个重要的shell命令:diff patch tar find grep
查看>>
学习笔记
查看>>
JS ES6 -- let命令
查看>>
查找空座位问题
查看>>