docker安装MySQL,创建MySQL容器
Docker安装Mysql
1.在docker-hup里查找MySQL镜像
2.在docker里安装MySQL
// 安装最新版本
docker pull mysql// 安装指定版本
docker pull mysql:8.0.43// 查看安装的镜像
docker images
3.创建MySQL容器
(1)手动创建挂在文件
// 创建挂载文件
mkdir -p /root/mysql/{log,data,conf}
// 确保MySQL进程有写入权限提高权限
chmod -R 755 /root/mysql
(2)创建自定义网络
Docker自定义网络的核心优势:
- 容器间通信:自定义网络允许容器通过服务名直接通信,无需硬编码IP地址。
- 网络隔离:提高安全性,防止未授权访问。
- 灵活的网络策略:可以设置网络别名、防火墙规则等。
- 避免端口冲突:多个服务可以使用相同的端口号,通过不同网络隔离。
// 创建自定义网络
docker network create fusion_network
// 查看自定义网络
docker network ls
//查找使用该网络的容器
docker network inspect mysql_network | grep Containers
// 停止网络
docker stop fusion_network
// 删除网络
docker rm fusion_network
(3) 创建容器
docker run -d \
--name mysql \ # 容器名称
--network fusion_network \ # 使用自定义网络
-p 3306:3306 \ # 端口号
--restart unless-stopped \ # 异常退出时自动重启
-v /root/mysql/log:/var/log/mysql \ # 日志持久化
-v /root/mysql/data:/var/lib/mysql \ # 数据持久化
-v /root/mysql/conf:/etc/mysql \ # 配置文件持久化
-e MYSQL_ROOT_PASSWORD=123456 \ #密码
mysql:8.0.42 # 指定镜像版本
docker run -d \
--name fusion_mysql \
--network fusion_network \
-p 3306:3306 \
--restart unless-stopped \
-v /root/mysql/log:/var/log/mysql \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.42