docker-compose部署mongodb+redis遇到的问题
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操作,清理掉生成的容器。
以上做法,主要是防止修改前的配置文件已经生成了某些缓存,造成修改配置文件后的执行的依然是缓存的结果
docker-compose部署mongodb+redis遇到的问题的更多相关文章
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...
- Docker Compose 部署 Redis 及原理讲解 | 懒人屋
原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解 4.4k 字 16 分钟 2019-10-1 ...
- 云服务器配置 docker java mysql mongodb redis nginx 环境
磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 在Windows Server 2019通过Docker Compose部署Asp.Net Core
一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...
- 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password
场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
- Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Docker Compose部署Nexus3时的docker-compose,yml代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
随机推荐
- python,pip环境变量设置
安装好python后,配置环境变量. 安装pygame需要先配置两个环境变量. 第一个是python的.先打开计算机,然后点击‘系统属性’然后点击‘高级系统设置’然后点击‘环境变量’在系统变量中找到p ...
- K8S配置安装全过程
V1.11.1https://github.com/kubernetes/kubernetes/releases/tag/v1.11.1环境准备:系统:centos7.2.1511[root@mast ...
- 强大的金融类图表库 TradingView 使用分享
这段时间刚好做币圈交易所,运用到了现在最火的金融类图表库 -- TradingView ,就是强大,基本上现在的火币网(https://www.huobi.com),币安网(https://www.b ...
- error connecting to master 'repl@192.168.1.107:3306' - retry-time: 60 retries: 86400
很多时候,就算thread 正在进行,也不代表没有错误,一定要看看具体表示错误的变量 mysql> show slave status\G *************************** ...
- 静态方法和实例方法(mark)
借花献佛[转自 ivony's blog] 关于静态方法和实例方法的一些误区. 一. 静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存. 事实上,方法都是一样的,在加载时机和占 ...
- 【转载】 [unreal4入门系列之七] UE4中的Actor类和Pawn类
原文地址: http://www.52vr.com/article-558-1.html 现在我们开始进入UE4的代码开发工作.首先,UE4的类框架是非常庞大的,看起来有点让人措手不及.不过正因为UE ...
- 关于xml的相关知识
1 xml定义和用途 定义:XML (eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup ...
- Linux 文件系统(一)---虚拟文件系统VFS----超级块、inode、dentry、file
转自:http://blog.csdn.net/shanshanpt/article/details/38943731 http://elixir.free-electrons.com/linux/v ...
- SQL-56 获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示
获取所有员工的emp_no.部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示CREATE TABLE `dept_emp` ( `emp_no` i ...
- java基础知识—类的方法
1.定义类方法的语法: 访问修饰符 返回值类型 方法名(){ 方法体: } 2.方法名的规范: 1.必须以字母下划线·“—”或“$”开头 2.可以有数字,但不能以数字开头. 3.如果方法名是以多个单词 ...