Docker最新超详细教程——Docker创建运行MySQL并挂载
Docker最新超详细教程——Docker创建运行MySQL并挂载
Docker最新超详细教程——Docker创建运行MySQL并挂载
(1)拉取mysql镜像
首先我们要在Docker上获取mysql镜像,就先要去DockerHub官网上pull一个下来,这里我们选择mysql:8.0.29
docker pull mysql:8.0.29
MySQL镜像比较大,所以pull的时间比较久,请耐心等待!
为了下次不用再去拉去,可以先将其备份(save)一下到本地(复习一下命令!)
docker save -o mysql8.0.29.tar mysql:8.0.29
注:-o 就是指定输出的文件路径
下次再需要的话,就不用去DockerHub上pull了,直接从本地load就好了!
sudo docker load -i mysql8.0.29.tar
注:-i表示要上传的文件名
如下是本人的本地暂存的DockerRepository仓库!
(2)创建目录
我们不采用基于数据卷挂载的方式,这里采用目录直接挂载(自己指定目录!)
容器不仅仅可以挂载数据卷,也可以直接挂载到宿主机目录上。关联关系如下:
-
带数据卷模式:宿主机目录 --> 数据卷 ---> 容器内目录(我们不清楚目录在哪里,需要去官网查找)
-
直接挂载模式:宿主机目录 ---> 容器内目录(我们自己创建的目录,自己清楚!后期好修改、维护)
mkdir /tmp/mysql/data
mkdir /tmp/mysql/conf
然后我们将自定义的 hmy.cnf 配置文件传进来!
在DockerHub官网上有提供相应的关于cnf配置文件的解释:
(3)运行mysql容器
docker run \
--name mysqlname \
-e MYSQL_ROOT_PASSWORD=888888 \
-p 3306:3306 \
-v /tmp/mysql/conf/hmy.conf:/etc/mysql/conf.d/hmy.conf \
-v /tmp/mysql/data:/var/lib/mysql \
-d \
mysql:8.0.29
执行结果如下:
里面有涉及到很多目录,在DockerHub的官网上有给出很具体的解释!
Mysql - Official Image | Docker Hub
自定义MySQL 配置文件 mysql-conf
存储数据的位置 mysql-data
使用docker ps查看一下:
docker ps
(4)测试数据库连接
上面我们通过ps命令看到mysql容器已经跑起来了,但是我们需要进一步确认访问mysql数据库是否OK。我们可以打开navicat工具,执行如下操作!
连接成功,看看是否可以打开
测试完成!