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遇到的问题的更多相关文章

  1. 使用Docker Compose部署基于Sentinel的高可用Redis集群

    使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...

  2. Docker Compose 部署 Redis 及原理讲解 | 懒人屋

    原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解  4.4k  字    16  分钟    2019-10-1 ...

  3. 云服务器配置 docker java mysql mongodb redis nginx 环境

    磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...

  4. Docker Compose 部署前后端分离应用

    部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...

  5. Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  6. 在Windows Server 2019通过Docker Compose部署Asp.Net Core

    一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...

  7. 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password

    场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  8. Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  9. Docker Compose部署Nexus3时的docker-compose,yml代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  10. Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

随机推荐

  1. js--map函数的使用

    map( )  属于操作数组的方法. 包含三个参数,item,index,arr 看一份代码: let arr = [ {title:'aaa',hot:true}, {title:'fff',hot ...

  2. nextcloud大文件无法上传

    I think that if u got a small /tmp like i had u cant upload big file…My /tmp = 462M so i can upload ...

  3. 初识HT for web

    目前国内经济转型在潜移默化中已经发生了巨大的变化,保险,零售业,汽车等我能想到的. 只要互联网能插足的行业,都难逃一‘劫’. 刚看了一篇博客--基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化 ...

  4. Python随笔--对象

    组合的用法:

  5. 随手心得(浅谈iOS)

    前一段时间去一个公司面试,面试官问我关于iOS的ARC,当然ARC对于一般有经验的iOS程序员来说一般不是什么问题,但是他问我苹果是怎么实现的,我就说通过地址指针解决的,然后他问我那苹果指针指向地址是 ...

  6. Bom简单介绍

    1.什么是bom? 全称:浏览器对象模型(Browser Object Model) bom是js的一部分, 2.bom的对象,方法和方法 bom提供了主要的8大对象:Window,Screen,Lo ...

  7. DevExpress ASP.NET Core Controls 2019发展蓝图(No.4)

    本文主要为大家介绍DevExpress ASP.NET Core Controls 2019年的官方发展蓝图,更多精彩内容欢迎持续收藏关注哦~ [DevExpress ASP.NET Controls ...

  8. HTML 基于 Python 实现分页功能

    前面的话: 1. 网页引用的bootstrap 中的表格,所以需要引入样式类 2. 第一次写文章,不喜勿喷.有不足的地方,可留言我改正,在此先谢过. HTML代码: <!DOCTYPE html ...

  9. jsp脚本的九个内置对象

    JSP脚本中包含9个内置对象, 这9个内置对象都是Servlet API 接口实例, 只是JSP规范对它们进行了默认初始化(由JSP 页面对应Servlet 的jspService()方法来创建这些实 ...

  10. win10下运行cmd闪退时检查方法

    在cmd下运行 exe加空格加斜杠加问号