签名:但行好事,莫问前程。
前言
记录Docker安装MySQL的过程。
容器数据卷:我们知道Docker通过镜像创建了容器,当容器运行起来会产生数据。拿MySQL为例,MySQL容器运行会存储数据,数据会储存在容器中,当我们删除容器,容器中保存的数据也会被删除,这样数据并不安全。
我们可以使用容器数据卷技术,将MySQL容器存储的数据挂载在宿主机的目录下,这样即使我们不小心删除MySQL容器,但是MySQL的数据在宿主机上还有备份,这样会比较安全。
一、查看镜像
1、进入官网查看MySQL镜像:https://hub.docker.com/_/mysql
2、通过docker命令查看MySQL镜像:
dicker search mysql
二、拉取镜像(指定版本MySQL5.7)
拉取最新版本的MySQL镜像:
docker pull mysql
拉取指定版本的MySQL镜像(以MySQL5.7为例):
docker pull mysql:5.7
查看MySQL镜像是否拉取成功:
docker ps -a
三、运行容器(数据挂载)
运行容器并使用挂载命令:
docker run -d --name MySql5.7 -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
命令分析:
-d:以后台的方式运行
–name MySql5.7:给启动的容器起别名
-p 3306:3306:宿主机和容器端口映射
-v /usr/local/mysql/conf:/etc/mysql/conf.d:将容器中的配置文件夹/etc/mysql/conf.d挂载到主机对应的/usr/local/mysql/conf文件夹中
-v /usr/local/mysql/data:/var/lib/mysql:将容器中数据文件夹/var/lib/mysql挂载到主机对应的/usr/local/mysql/data文件夹中
-v /usr/local/mysql/log:/var/log/mysql:将容器中日志文件夹/var/log/mysql挂载到主机对应的/usr/local/mysql/log文件夹中
-e MYSQL_ROOT_PASSWORD=root:给初始化用户root设置密码为root
mysql:5.7:指定用这个镜像来创建运行实例
执行容器启动命令:
四、测试连接
用Navicat测试连接数据库:
总结
博客主要记录了Docker安装MySQL和MySQL数据挂载,有啥错误或不足地方请指正,如果对你有所帮助,请一键三连。