- A+
1. 创建本地文件夹
mkdir -p /docker/mysql8/conf mkdir -p /docker/mysql8/data mkdir -p /docker/mysql8/log
2. 新建配置文件
在conf文件夹中创建文件:mysql.conf
文件内容:
[mysqld] init-connect="SET collation_connection=utf8mb4_0900_ai_ci" init_connect="SET NAMES utf8mb4" skip-character-set-client-handshake
3. 拉取镜像
docker pull mysql
4. 启动镜像
docker run --restart=always --name mysql8 -v /docker/mysql8/log:/var/log/mysql -v /docker/mysql8/data:/var/lib/mysql -v /docker/mysql8/conf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yyyxxx -d mysql
解释:来自ChatGPT
这条命令是用来启动一个 MySQL Docker 容器的。让我们一步步地解释这条命令的各个部分:
-
docker run
:这是 Docker 的一个基本命令,用于启动一个新容器。 -
--restart=always
:这个选项指定了容器的重启策略。设置为always
意味着无论容器因何原因停止运行,Docker 都会自动重启它。 -
--name mysql8
:这里指定了容器的名称为mysql8
。通过这个名称,你可以轻松地引用或操作这个容器。 -
-v /docker/mysql8/log:/var/log/mysql
:这是一个数据卷的挂载指令,它将宿主机的/docker/mysql8/log
目录挂载到容器的/var/log/mysql
目录。这意味着容器内的 MySQL 日志会被保存到宿主机的指定目录中。 -
-v /docker/mysql8/data:/var/lib/mysql
:同样是一个数据卷的挂载,将宿主机的/docker/mysql8/data
目录挂载到容器的/var/lib/mysql
目录。这里存储的是 MySQL 数据库的数据文件。 -
-v /docker/mysql8/conf:/etc/mysql/conf.d
:将宿主机的/docker/mysql8/conf
目录挂载到容器的/etc/mysql/conf.d
目录,用于自定义 MySQL 的配置。 -
-p 3306:3306
:这是端口映射的设置。它将容器的 3306 端口映射到宿主机的 3306 端口,使得你可以通过宿主机的 3306 端口来访问容器中的 MySQL 服务。 -
-e MYSQL_ROOT_PASSWORD=yyyxxx
:这里设置了环境变量MYSQL_ROOT_PASSWORD
,其值为yyyxxx
。这个环境变量是用来设置 MySQL root 用户的密码的。 -
-d mysql
:-d
选项让容器在后台运行。mysql
指定了要使用的镜像,这里使用的是mysql
镜像。
综上所述,这条命令创建了一个名为 mysql8
的 MySQL 容器,设置了数据卷和端口映射,并配置了 root 用户密码。容器会在后台运行,并且会在停止后自动重启。