1、排取镜像
我的实际用法是:docker pull mysql:5.7
但是有的
docker pull docker.io/mysql:5.7.18
可以直接指定版本,未试过!
docker pull mysql:5.7
2、创建主宿机映射目录
mkdir -p /opt/docker/mysql/etc/mysql #配置文件映射 mkdir -p /opt/docker/mysql/data #数据文件映射
3、随便运行一个容器,然后将里面的配置方便拷出来
docker run -di --name=mymysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 docker cp mymysql:/etc/mysql /opt/docker/mysql/etc
4、删掉这个要拷的docker
docker stop mymysql docker rm mymysql
5、运行容器
docker run -di --name=mysql57 -v /opt/docker/mysql/etc/mysql:/etc/mysql -v /opt/docker/mysql/data:/var/lib/mysql -p 3357:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
6、拉8.0的mysql
docker pull mysql:8.0
7、创建映射文件
mkdir -p /opt/docker/mysql80/etc/mysql #配置文件映射 mkdir -p /opt/docker/mysql80/data #数据文件映射
8、随便生成一个容器来拷贝文件
docker run -di --name=mymysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0 docker cp mymysql:/etc/mysql /opt/docker/mysql80/etc
9、删掉这个要拷的docker
docker stop mymysql docker rm mymysql
10、运行容器
docker run -di --name=mysql80 -v /opt/docker/mysql80/etc/mysql:/etc/mysql -v /opt/docker/mysql80/data:/var/lib/mysql -p 3380:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0