使用docker部署mysql
文档目的:文档介绍了docker的安装,及如何使用docker部署mysql的服务。
本文档包含以下3部分内容:- 安装docker
- 如何在docker上运行mysql5.7
- 拓展阅读
注意事项
- 本文基于centos7环境编写
1. 安装docker
参考官网链接: https://docs.docker.com/install/linux/docker-ce/centos/
-
删除旧的docker版本
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
安装依赖包
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
-
添加docker稳定版的yum源
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
-
安装
$ sudo yum install docker-ce docker-ce-cli containerd.io
-
启动服务
$ service docker start #或者 $ systemctl restart docker # 推荐
-
测试,PS:为了后面不走弯路,不要省略
docker run hello-world
如果执行命令后,能在输出中看到 Hello from Docker! 字样表明docker可以正常工作了
-
添加镜像地址(非必须的步骤,但能加快下载镜像的速度,强烈建议进行配置)
此处选择阿里云给每个人提供的私人加深地址,速度很快推荐
$ vim /etc/docker/daemon.json # 使用vim将文件编辑成如下样式 { "registry-mirrors": ["https://homenew.console.aliyun.com"] } $ systemctl restart docker # 重启docker服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XuD5fkeU-1571116525642)(images/01/阿里云镜像加速器配置.jpg)]
至此docker服务安装配置和启动完毕!
2. docker运行mysql5.7
参考官网链接:https://hub.docker.com/_/mysql/
-
拉取镜像
$ docker pull mysql:5.7
-
创建运行本地mysql所需的配置文件目录
$ mkdir -p /etc/mysql/conf
-
创建并运行虚拟环境
$ docker container run -p 3306:3306 --name mysql_server -v /etc/mysql/conf/:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 # 命令格式:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag # 配置说明 # -p 3306:3306 把容器的3306端口(第二个3306)映射到主机的3306端口(第一个3306) # --name 容器实例名称 # -v /etc/mysql/conf/:/etc/mysql/conf.d 把容器的mysql配置目录(/etc/mysql/conf.d)映射到到主机的对应目录(/etc/mysql/conf/) # -e MYSQL_ROOT_PASSWORD=123456 设置密码为123456 # -d mysql:5.7 指定使用那个镜像
-
进入mysql的shell界面
$ docker exec -it mysql_server mysql -uroot -p
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TakBKNhl-1571116525643)(images/01/docker启动mysql.png)]
3. 课外阅读:Docker 教程
$ docker exec -it mysql_server mysql -uroot -p
[外链图片转存中...(img-TakBKNhl-1571116525643)]
## 3. 课外阅读:Docker 教程
[Docker入门教程](https://github.com/tanglang1990/blog/blob/master/Docker入门教程/Docker入门教程.md)