- 下拉镜像:
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
- 启动镜像:
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
- 启动成功后,拷贝容器的配置文件到宿主主机
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 (可以自己选择合适的主机目录)
- 先停止mysql容器,再删除mysql容器
[root@localhost mysql]# docker stop mysql
mysql
[root@localhost mysql]# docker rm mysql
mysql
- 建立启动脚本,挂载配置文件,数据持久化到宿主主机
在主机目录/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
- 执行脚本 启动镜像
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
- 安装成功
需要修改mysql的配置信息,可直接修改挂载出来的配置文件,修完毕后,需要重启mysql
[root@localhost ~]# docker restart mysql
mysql