Docker安装教程:
Docker安装Mysql5.7
1、拉取官方mysql5.7镜像
docker pull mysql:5.7
2、docker命令方式不赘述(不方便管理),直接使用docker-compose处理:
version: '3'
services:
mysql:
image: mysql:5.7
container_name: mysql57
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306
volumes:
- /docker/mysql57/data:/var/lib/mysql
- /docker/mysql57/conf/conf.d:/etc/mysql/conf.d
- /docker/mysql57/logs:/var/log/mysql
deploy:
mode: global
resources:
limits:
memory: 2048M
Docker安装Mysql8.0
1、拉取官方mysql8.0镜像
docker pull mysql:8.0.32
2、docker命令方式不赘述(不方便管理),直接使用docker-compose处理:
version: '3'
services:
mysql:
image: mysql:8.0.32
container_name: mysql80
environment:
# 时区上海
TZ: Asia/Shanghai
# root 密码
MYSQL_ROOT_PASSWORD: root
ports:
- "3307:3306"
volumes:
# 数据挂载
- /docker/mysql80/data/:/var/lib/mysql/
# 配置挂载
- /docker/mysql80/conf/:/etc/mysql/conf.d/
# 日志挂载
- /docker/mysql80/logs:/var/log/mysql
command:
# 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
privileged: true
network_mode: "host"
Docker常用命令:
#docker-compose 后期后台启动
docker-compse up -d
#docker-compose 容器停止
docker-compse down
#进入容器内部
docker exec -it [容器Id前三位/容器名称] /bin/bash
# 获取容器ip
docker inspect [容器Id前三位/容器名称]
#退出容器
exit
引申问题
1、如果yaml或者yml文件改为非,使用 docker-compose up -d会失效,必须使用如下命令:
#默认名称为docker-compose.yaml的情况 启动命令
docker-compose up -d
#名称不为docker-compose.yaml的情况 启动
docker-compose -f [新yaml或yml名称] up -d
思考
- docker的ports设置为 3305:3305(防火墙已开)时,远程无法连接,改回3306后正常访问;
- 1、个人分析原因:mysql在容器内要是用3306端口,对外是用其他未占用的端口即可,比如:xxxx:3306。
- 在docker内部,同时安装并启动mysql57和mysql80,方案如下:
- 1、 将以上yaml文件中的两个service合并在一起即可,启动即可;
- 2、yaml文件分开的情况,分别是用docker-compose命令启动两个或者设置启动脚本(如下所示):
docker-compose -f /docker/mysql57/yaml/docker-compose57.yaml up -d
docker-compose -f /docker/mysql80/yaml/docker-compose80.yaml up -d
参考链接
https://blog.youkuaiyun.com/qq_28597013/article/details/121864586
https://gitee.com/dromara/RuoYi-Vue-Plus/blob/5.X/script/docker/docker-compose.yml