Docker Compose V2 安装常用数据库MySQL+Mongo
前言
书接上篇: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 -dversion: '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 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 -dversion: '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
运行示例
后语
- 安装&记录耗时:5 小时
- 后面还会补充 clickhouse 和一个 web 管理工具的使用
- 创作不易,且行且珍惜!!!
Docker Compose V2 安装常用数据库MySQL+Mongo的更多相关文章
- 手把手教你 Docker Compose的安装和使用
一.Docker Compose是什么? Docker Compose是一个工具,用于定义和运行多容器应用程序的工具: Docker Compose通过yml文件定义多容器的docker应用: Doc ...
- Docker Compose 介绍安装
Compose介绍 Compose是一个定义和管理多容器的工具,也是一种容器编排工具,前身是Pig,使用Python语言编写.使用Compose配置文件描述多个容器应用的架构,biubiu使用什么镜像 ...
- 26. docker compose 的安装 和 基本使用
1. 安装 docker compose https://docs.docker.com/compose/install/ 选择linux 即可 sudo curl -L "https:/ ...
- Docker Compose的安装及命令补全
安装Compose Compose的安装有多种方式,例如通过shell安装.通过pip安装.以及将compose作为容器安装等等.本文讲解通过shell安装的方式.其他安装方式如有兴趣,可以查看Doc ...
- centos7 Docker Compose 的安装
[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose ...
- docker compose yml 文件常用字段简介
常用参数: version # 指定 compose 文件的版本 services # 定义所有的 service 信息, services 下面的第一级别的 key 既是一个 service 的名称 ...
- Docker笔记(二) 安装常用软件
常用环境安装 这里收集一些常用环境的安装步骤,可直接复制进行使用,节省安装时间,后续会随时补充 安装MySQL5.7.32 下载mysql5.7.32的镜像 ( 记得下载镜像要先确保镜像仓库中存在这个 ...
- 安装关系型数据库MySQL 安装大数据处理框架Hadoop
作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 1.Hadoop的介绍 Hadoop最早起源于Nutch.Nut ...
- 【大数据】安装关系型数据库MySQL安装大数据处理框架Hadoop
作业来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 1. 简述Hadoop平台的起源.发展历史与应用现状. 列举发展过 ...
- 【大数据应用技术】作业九|安装关系型数据库MySQL 安装大数据处理框架Hadoop
本次作业的要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 1.安装MySql 按ctrl+alt+t打开终端窗口,安 ...
随机推荐
- 【HMS Core】Health Kit健康数据采样, 原子采样数据问题
[问题描述] 1.体脂数据中的肌肉量和水份量是如何获得的,都有些什么?体脂数据中的体重,体脂是用户自己上传的,然后通过计算公式得到数据吗 2.日常活动统计数据包含什么内容,怎么获取这些数据? 3. 锻 ...
- jenkins 发版获取镜像仓库中tag
一.安装阿里云linux客户端工具 选择官网下载地址 # wget wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tg ...
- Journal of Electronic Imaging投稿分享
Journal of Electronic Imaging投稿分享 在研究生阶段中的第一篇论文,前后总共三个月,还是很开心的!!! 附下中稿图片 这个期刊从二月份开始投的,然后三月份给了大修,大修时间 ...
- Java打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
代码如下: public static void main(String[] args) { int a,b,c; for(int num = 100;num <= 999;num++) { a ...
- 使用Kettle定时从数据库A刷新数据到数据库B
一.需求背景 由于项目场景原因,需要将A库(MySQL)中的表a.表b.表c中的数据定时T+1 增量的同步到B库(MySQL).这里说明一下,不是数据库的主从备份,就是普通的数据同步.经过技术调研,发 ...
- tomcat Filter内存马
idea调试的时候加入源代码 <dependency> <groupId>org.apache.tomcat</groupId> <artifactId> ...
- P3574 [POI2014] FAR-FarmCraft 吐槽 + 题解
洛谷上面的题解写的真的不太好,有很多错误,我来谈谈自己的理解. 设 \(f[i]\) 表示以 \(i\) 为根节点的子树中(包括节点 \(i\))的所有人安装好游戏所需要的时间(与下面的 \(g[i] ...
- 基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发2-功能开发
基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发2-功能开发 项目简介:目标是开发一个跨平台的AI聊天和其他功能的客户端平台.目的来学习和了解Avalonia.将这个项目部署 ...
- C#/.net/DotNet/Emgu.CV裁剪照片头像
头像裁剪有利于人脸识别批量照片预处理,安防领域可以快速通过视频定位人脸,进行抓拍,做人脸识别相关功能的可能会应用到人脸裁剪,以下是我在实践中应用的代码,如有需要复制粘贴即可使用. using Emgu ...
- pandas: 设置列名&获取所有列名
解决方案 download_page_data_df.columns = column_name2excel 参考链接 https://www.cnblogs.com/bigtreei/p/10145 ...

