一、拉取镜像
docker pull mysql:8.0.30

二、启动容器
docker run -d \
--name mysql \
--restart=always \
-p 3306:3306 \
--privileged=true \
-v /home/mysql/log:/var/log \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.30
- -d:以守护进程模式在后台运行容器。
- --name mysql:给容器命名为 mysql。
- --restart=always:它表示无论容器因为何种原因退出(包括正常退出和异常退出),Docker 守护进程都会自动重启该容器。比如当服务器重启、容器内部服务崩溃导致容器退出等情况发生时,容器都能自动重新启动,以提高容器内服务的可用性。
- -p [宿主机端口]:[容器端口]
- -p 3306:3306:将主机的 3306 端口映射到容器内的 3306 端口,用于 MYSQL 访问。
- --privileged=true:扩大容器的权限解决挂载目录没有权限的问题
- -v /home/mysql/log:/var/log:将宿主机 /home/mysql/log 目录挂载到容器内的 /var/log 目录,用于存储 MySQL 日志。
- -v /home/mysql/data:/var/lib/mysql:将宿主机 /home/mysql/data 目录挂载到容器内的 /var/log 目录,用于存储 MySQL 数据。
- -v /home/mysql/conf:/etc/mysql/conf.d:将宿主机 /home/mysql/conf 目录挂载到容器内的 /etc/mysql/conf.d 目录,用于存储 MySQL 配置。
三、Navicat 访问
