1. 下拉镜像:

docker pull mysql

[root@localhost ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
Digest: sha256:d8df069848906979fd7511db00dc22efeb0a33a990d87c3c6d3fcdafd6fc6123
Status: Image is up to date for mysql:latest
docker.io/library/mysql:latest
  1. 启动镜像:

docker run -d --name mysql -e MYSQL\_ROOT\_PASSWORD=123456 -p 3306:3306 mysql

[root@localhost ~]#docker run -d --name mysql -e MYSQL\_ROOT\_PASSWORD=123456 -p 3306:3306 mysql
cd53d25a7029bcba4fa72794b7af5061f9bc03dc5fcf9d48e655319162b7cc9e
  1. 启动成功后,拷贝容器的配置文件到宿主主机

docker cp  mysql:/etc/mysql /data/mysql

[root@localhost mysql]# docker cp  mysql:/etc/mysql /data/mysql
Successfully copied 2.05kB to /data/mysql

拷贝容器的 /etc/mysql目录到 主机目录/data/mysql (可以自己选择合适的主机目录)

  1. 先停止mysql容器,再删除mysql容器
[root@localhost mysql]# docker stop mysql
mysql
[root@localhost mysql]# docker rm mysql
mysql
  1. 建立启动脚本,挂载配置文件,数据持久化到宿主主机

在主机目录/data/mysql建立启动脚本mysql.sh

#!/bin/sh
docker run \
-p 3306:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /data/mysql/mysql:/etc/mysql \
-v /data/mysql/logs:/logs \
-v /data/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
  1. 执行脚本 启动镜像

sh /data/mysql/mysql.sh

[root@localhost mysql]# sh /data/mysql/mysql.sh
71a9661325cba80fcb88112bb082b3925888539203cc27c6a2392b296bda28a8
[root@localhost mysql]# docker ps
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS             PORTS                                                  NAMES
71a9661325cb   mysql             "docker-entrypoint.s…"   13 seconds ago   Up 13 seconds      0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql
  1. 安装成功

需要修改mysql的配置信息,可直接修改挂载出来的配置文件,修完毕后,需要重启mysql

[root@localhost ~]# docker restart mysql
mysql