问题背景
上篇介绍了Docker指令,本章介绍一下数据卷Volumes
注意事项:
- 因为我写的是一个系列,在之前的文章介绍过的一般不会重复介绍,可以根据以下链接查看之前的知识点
- 默认已安装Centos7
- 默认已安装JDK
- 默认开启root权限
- 默认已安装mysql客户端,如Navicat或Sqlyog
- 一个镜像可以启动多个容器,第一次启动容器会自动保存,下次启动容器可以使用 docker ps -a 查看所有容器ID和名字,然后使用 docker start [容器ID或名字] 进行启动
Docker无介绍快使用,安装部署hello测试(一)
Docker无介绍快使用,docker指令使用(二)
Docker无介绍快使用,docker数据卷Volumes挂载的使用(三)
Docker无介绍快使用,docker拉取mysql5.7及使用(四)
Docker拉取mysql5.7
1 搜索mysql镜像
docker search mysql
2 选择第一个热度最高,拉取mysql镜像
docker pull mysql:5.7
3 使用拉取的镜像启动一个容器,一个镜像可以启动多个容器,第一次启动容器会自动保存,下次启动容器可以使用docker ps -a 查看所有容器ID和名字,docker start [容器ID或名字] 进行启动
docker run -di --name=mysql -p 3307:3306 -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
查看运行的容器
docker ps -a
参数说明:
- -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口
- -v /root/mysql/logs:/logs:将主机目录(/root/mysql)下的 logs 目录挂载到容器中的
/logs 日志目录 - -v /root/mysql/data:/var/lib/mysql :将宿主机目录(/root/mysql)下的data目录挂载到容
器的 /var/lib/mysql 数据目录 - -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码
进入容器指令
docker exec –it mysql /bin/bash
4 使用Navicat连接docker容器的mysql
5 点击测试连接
总结
- 这样就比直接安装数据库更方便快捷,平常非正式项目使用很方便,正式项目不会使用docker容器,因为数据不安全
- Navicat连接不能成功,可以尝试关闭防火墙,可以看看这篇文章的常见连接失败原因
作为程序员第 53 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha ...