前言

书接上篇:Docker V24 及 Docker Compose V2 的安装及使用

本篇操作都在 centos8 虚拟机 devops01 中进行,并都归属网络:devopsnetwork

主要增加对容器中 数据文件,日志,配置,网络,时区,端口映射,密码 的配置,更贴合生产实际使用

Docker Compose 安装 MySQL v5.7

目录 /app/mysql 中创建 compose.yml 并运行

  • 指定 mysql 版本 5.7

  • 指定网络:devopsnetwork

  • 指定时区:Asia/Shanghai

    • 不设置默认是GMT时间,会比北京时间少8h,直接的影响就是 NOW() 函数会有差异
  • 指定 root 密码:devops666

  • 挂载卷:./data ./logs,无需手动创建

  • 挂载配置文件: 配置文件根据情况挂载,需要手动创建 conf/my.conf ,以下为示例配置

    • [mysqld]
      #必须保证在mysql集群中,该字段唯一
      server_id=1
      #指定归档日志的存储文件
      log-bin=master-bin
      log-bin-index=master-bin.index
      #指定忽略的数据库
      binlog-ignore-db=mysql
      #指定时区
      default-time-zone='Asia/Shanghai'
      #可以通过增加”replicate-do-db” 指定需要复制的数据库,
      #如果不指定则是所有的数据。如果需要指定多个数据库,只需要增加多个”replicate-do-db” 即可。
      #replicate-do-db #设置这个最大连接数值
      max_connections=1024
  • 暴露端口:3306

  • 启动 mysql 容器: docker compose up -d

    • version: '3.1'
      services:
      mysql:
      container_name: db_mysql_5_7
      image: mysql:5.7
      restart: always
      environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=devops666
      volumes:
      - ./data:/var/lib/mysql
      - ./logs:/var/log/mysql
      # 指定配置文件,需要手动创建
      # - ./conf/my.cnf:/etc/mysql/my.cnf
      ports:
      - "3306:3306"
      networks:
      - devopsnetwork networks:
      devopsnetwork:
      external: true
  • 运行示例

  • 若需要使用 mysql8.0 ,可使用下面配置,根据需要设置身份验证插件

    • version: '3.1'
      services:
      mysql:
      container_name: db_mysql_8
      image: mysql:8.0
      restart: always
      # MySQL 8.0 默认使用 caching_sha2_password 身份验证插件,而不是 mysql_native_password 插件。在生产环境中,我们应该遵循官方建议,使用 caching_sha2_password 插件提供更强大的安全性
      # command: --default-authentication-plugin=mysql_native_password
      environment:
      MYSQL_ROOT_PASSWORD: devops666
      volumes:
      - ./data:/var/lib/mysql
      ports:
      - "3306:3306"
      networks:
      - devopsnetwork networks:
      devopsnetwork:
      external: true
  • 参考 docker-library/mysql

Docker Compose 安装 MongoDB v4.4

目录 /app/mongo 中创建 compose.yml 并运行

  • 指定 mongo 版本 4.4

  • 指定网络:devopsnetwork

  • 指定时区:Asia/Shanghai

  • 指定账号密码:root devops666

  • 挂载卷:./data 即:/app/mongo/data,无需手动创建

  • 挂载配置文件:./config/mongo.conf 需要手动创建

    • net:
      bindIpAll: true security:
      authorization: enabled
  • 暴露端口:27017

  • 运行 compose.yml:docker compose up -d

    • version: '3.1'
      services:
      mongo:
      container_name: mongo_4_4
      image: mongo:4.4.0
      restart: always
      networks:
      - devopsnetwork
      environment:
      - TZ=Asia/Shanghai
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=devops666
      command: mongod --config /etc/mongo/mongod.conf
      volumes:
      - ./data:/data/db
      - ./logs:/data/log
      - ./config/mongo.conf:/etc/mongo/mongod.conf
      ports:
      - "27017:27017" networks:
      devopsnetwork:
      external: true
  • 运行示例

  • 参考 docker-library/mongo

后语

  • 安装&记录耗时:5 小时
  • 后面还会补充 clickhouse 和一个 web 管理工具的使用
  • 创作不易,且行且珍惜!!!

Docker Compose V2 安装常用数据库MySQL+Mongo的更多相关文章

  1. 手把手教你 Docker Compose的安装和使用

    一.Docker Compose是什么? Docker Compose是一个工具,用于定义和运行多容器应用程序的工具: Docker Compose通过yml文件定义多容器的docker应用: Doc ...

  2. Docker Compose 介绍安装

    Compose介绍 Compose是一个定义和管理多容器的工具,也是一种容器编排工具,前身是Pig,使用Python语言编写.使用Compose配置文件描述多个容器应用的架构,biubiu使用什么镜像 ...

  3. 26. docker compose 的安装 和 基本使用

    1. 安装 docker compose https://docs.docker.com/compose/install/  选择linux 即可 sudo curl -L "https:/ ...

  4. Docker Compose的安装及命令补全

    安装Compose Compose的安装有多种方式,例如通过shell安装.通过pip安装.以及将compose作为容器安装等等.本文讲解通过shell安装的方式.其他安装方式如有兴趣,可以查看Doc ...

  5. centos7 Docker Compose 的安装

    [root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose ...

  6. docker compose yml 文件常用字段简介

    常用参数: version # 指定 compose 文件的版本 services # 定义所有的 service 信息, services 下面的第一级别的 key 既是一个 service 的名称 ...

  7. Docker笔记(二) 安装常用软件

    常用环境安装 这里收集一些常用环境的安装步骤,可直接复制进行使用,节省安装时间,后续会随时补充 安装MySQL5.7.32 下载mysql5.7.32的镜像 ( 记得下载镜像要先确保镜像仓库中存在这个 ...

  8. 安装关系型数据库MySQL 安装大数据处理框架Hadoop

    作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 1.Hadoop的介绍 Hadoop最早起源于Nutch.Nut ...

  9. 【大数据】安装关系型数据库MySQL安装大数据处理框架Hadoop

    作业来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 1. 简述Hadoop平台的起源.发展历史与应用现状. 列举发展过 ...

  10. 【大数据应用技术】作业九|安装关系型数据库MySQL 安装大数据处理框架Hadoop

    本次作业的要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 1.安装MySql 按ctrl+alt+t打开终端窗口,安 ...

随机推荐

  1. 驱动开发:内核LoadLibrary实现DLL注入

    远程线程注入是最常用的一种注入技术,在应用层注入是通过CreateRemoteThread这个函数实现的,该函数通过创建线程并调用 LoadLibrary 动态载入指定的DLL来实现注入,而在内核层同 ...

  2. auto main()-> int的含义是什么?

    42 https://stackoverflow.com/questions/21085446/what-is-the-meaning-of-auto-main-int/21085530   C++1 ...

  3. Python潮流周刊#7:我讨厌用 asyncio

    你好,我是猫哥.这里记录每周值得分享的 Python 及通用技术内容,部分为英文,已在小标题注明.(标题取自其中一则分享,不代表全部内容都是该主题,特此声明.) 首发于我的博客:https://pyt ...

  4. 从RDD创建DataFrame

    0.前次作业:从文件创建DataFrame 1.pandas df 与 spark df的相互转换     df_s=spark.createDataFrame(df_p)     df_p=df_s ...

  5. 驱动开发:内核远程线程实现DLL注入

    在笔者上一篇文章<内核RIP劫持实现DLL注入>介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实 ...

  6. 推荐一款C#开源的操作简单、免费的屏幕录制和GIF动画制作神器

    前言 今天要给大家推荐一款由C#语言开发且开源的操作简单.免费的屏幕录制和GIF动画制作神器:ScreenToGif . 工具介绍 ScreenToGif 是一款免费的开源屏幕录制和GIF 制作工具. ...

  7. Hexo博客Next主题站内搜索模块相关,解决搜索无效、一直loading的问题

    站内搜索配置 设置方法: 首先安装hexo-generator-searchdb插件 npm install hexo-generator-searchdb --save 编辑博客根目录下的博客本地目 ...

  8. String s=new String(“hello”)的执行过程

    一. 介绍 String 是Java.long包下的String类,是一个特殊的引用类型,用于表示字符串.它提供了许多方法来操作和处理字符串,比如连接.截取.查找.替换等.String类内部使用字符数 ...

  9. 简单的python3脚本:从日志中提取信息

    命名:log_extractor.py or download_stats_extractor.py # coding:utf-8 #!/usr/bin/python3 def filter_line ...

  10. EntityCleanFramework

    EF几乎是按照领域的概念诞生,它可以和Clean结合(ECF是我新想出的名字).ECF 是为了统一业务架构开发方式,也可以说成在 微服务架构 中服务的通用开发方式.当有了统一开发方式后,协作将更上一层 ...