实验的过程分为4步: - 获取mysql镜像
- 运行一个mysql容器
- 测试连接mysql
- 验证
第一步先获取镜像,版本选择了MySQL5.7[root@localhost ~]# docker pull mysql:5.7[root@localhost ~]# docker images |grep mysqlmysql 5.7 c20987f18b13 2 months ago 448MB
第二步运行MySQL容器[root@localhost ~]# docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7a2e753a4c01a3992e24f08098ca16ebf0ecce01279c88976ce8ad43b5ac0a987 参数作用: - -d 后台运行
- -p 3306:3306 将主机的3306端口与容器的3306端口映射
- -v /home/mysql/conf:/etc/mysql/conf.d 主机的/home/mysql/conf目录挂载到MySQL容器的配置文件目录,方便修改
- -v /home/mysql/data:/var/lib/mysql /home/mysql/data目录挂载到MySQL容器的数据库文件目录,防止容器删除导致数据丢失
- -e MYSQL_ROOT_PASSWORD=123456 设置数据库的密码
- –name 为容器取名
测试连接MySQL启动成功后,使用Navicat测试连接 
进行验证我们先来看看我们挂载的/home/mysql目录,可以看到有我们挂载的conf和data两个目录 [root@localhost mysql]# pwd/home/mysql[root@localhost mysql]# lsconf data 进入data目录看一下,可以看到mysql容器/var/lib/mysql下的文件 [root@localhost mysql]# cd data/[root@localhost data]# lsauto.cnf ca.pem client-key.pem ibdata1 ib_logfile1 mysql private_key.pem server-cert.pem sysca-key.pem client-cert.pem ib_buffer_pool ib_logfile0 ibtmp1 performance_schema public_key.pem server-key.pem 我们在数据库里面创建一个test 

然后我们到挂载的/home/mysql/data目录下看test会不会出现 
test出现,同步成功 然后我们删除掉这个mysql容器,看看/home/mysql/data下的数据还会不会存在 先查看一下正在运行的所有容器 
删除mysql容器 
删除后再查看正在运行的容器,mysql被删除 
mysql已经删除,我们再来看/home/mysql/data目录 
数据依然存在,实验完成 下载地址: 教你nginx跳转配置的四种方式 Docker部署Mysql8的实现步骤 |