前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker Compose V2 安装常用数据库MySQL+Mongo

Docker Compose V2 安装常用数据库MySQL+Mongo

作者头像
易墨
发布2023-10-07 08:23:25
3840
发布2023-10-07 08:23:25
举报

前言

书接上篇: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 ,以下为示例配置

代码语言:javascript
复制
[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

代码语言:javascript
复制
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 ,可使用下面配置,根据需要设置身份验证插件

代码语言:javascript
复制
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 需要手动创建

代码语言:javascript
复制
net:
  bindIpAll: true

security:
  authorization: enabled

暴露端口:27017

运行 compose.yml:docker compose up -d

代码语言:javascript
复制
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 管理工具的使用
  • 创作不易,且行且珍惜!!!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Docker Compose 安装 MySQL v5.7
  • Docker Compose 安装 MongoDB v4.4
  • 后语
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档