文章目录
Docker之部署MySQL v5.6
注:本文是基于Docker v 20.10.11、MySQL v5.6进行讲解
以下命令的执行不管在哪个目录执行都可以,因为文件安装的位置是由Docker决定的,而不是我们“处于哪个位置决定的”
1.搜索mysql镜像
docker search mysql
2.拉取mysql镜像
docker pull mysql:5.6
3.创建mysql容器
创建容器,设置端口映射、目录映射(以下都是登录root用户下后使用的命令,可以全部复制直接粘贴进去命令行,粘贴进去后按回车)
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
docker run -id -p 3307:3306 --name=c_mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
参说明:
- -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口,将来正式工作是要把宿主机的端口也设置成3306的,现在只是方便学习就设置成3306
- –name=c_mysql:容器的名字
- 以下是三个数据卷;¥pwd是查看当前所在目录的全路径
- -v $PWD/conf:/etc/mysql/conf.d:等效于/root/mysql/conf:/etc/mysql/conf.d,宿主机 的/root/mysql/conf目录映射到容器的/etc/mysql/conf.d目录;以后如果要修改mysql的配置在宿主机的conf目录里修改即可;将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
- -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
- -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录;如果想要修改恢复mysql的数据的话只要这个宿主机的这个data目录还在,即使mysql的容器出现了一些问题,那么我们即使把容器删除掉但是数据仍然还在,再次恢复起来比较方便
- -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
- mysql:5.6:所用镜像
4. 进入mysql容器
docker exec -it c_mysql /bin/bash
mysql -uroot -p123456
5.查看mysql容器目录
5.1/根目录
根目录查看
5.2/logs/目录
/logs/目录查看,里面啥也没有
5.3/etc/mysql/conf.d/目录
/etc/mysql/conf.d/目录查看,啥也没有
5.4/etc/my.cnf文件
没有这个文件
6. 外部连接
7.宿主机mysql数据卷目录查看
宿主机mysql数据卷目录结构查看
8.停止mysql容器
docker stop c_mysql