CentOS下Docker部署mysql8.0
1、设置镜像加速
# 编辑配置文件
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.1ms.run"
]
}
# 重新加载Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 推送Docker镜像
docker pull mysql:8.0
# 下载完成后查看是否有对应镜像
docker images

2、Docker启动mysql
docker run -p 3306:3306 --name mysql8 \
-v /home/mysql8/log:/var/log/mysql \
-v /home/mysql8/data:/var/lib/mysql \
-v /home/mysql8/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0 \
| -e | 用于设置环境变量。例如,-e MYSQL_ROOT_PASSWORD=123456 可以用来设置 MySQL root 用户的密码 |
| -p | 用于端口映射。例如,-p 3306:3306 将容器内的 3306 端口映射到宿主机的 3306 端口 |
| -v | 用于挂载卷。例如,-v /home/mysql8/data:/var/lib/mysql \ 将宿主机的 mysql_data 目录挂载到容器的 /var/lib/mysql 目录,用于持久化数据 |
| -d | 在后台运行容器。 |
| --name | 为容器指定一个名称,方便以后引用。例如,--name mysql8 |
| --restart | 设置容器的重启策略。例如,--restart unless-stopped 表示除非手动停止,否则总是重启容器 |
| --privileged | 给予容器额外的权限,例如访问宿主机的硬件设备。通常不建议在生产环境中使用,除非确实需要 |
| --network | 设置容器的网络模式。例如,--network host 表示容器使用宿主机的网络,而 bridge 或 none 是其他网络模式 |
| --env-file | 从文件中读取环境变量。例如,--env-file /path/to/env-file.list |
3、查看是否启动成功
# 查看docker内容器运行情况
docker ps

# 监控状态
docker stats

4、进入mysql容器中,登录mysql
# 进入到mysql容器中
docker exec -it mysql bash

# 登录mysql的root用户
mysql -uroot -p


浙公网安备 33010602011771号