美文网首页
Docker快速搭建MySQL环境

Docker快速搭建MySQL环境

作者: 糊涂蟲 | 来源:发表于2019-06-13 10:27 被阅读0次
  • 1下载 MySQL镜像
[root@doc ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
fc7181108d40: Pull complete 
787a24c80112: Pull complete 
a08cb039d3cd: Pull complete 
4f7d35eb5394: Pull complete 
5aa21f895d95: Pull complete 
a742e211b7a2: Pull complete 
0163805ad937: Pull complete 
62d0ebcbfc71: Pull complete 
559856d01c93: Downloading  45.67MB/83.75MB
c849d5f46e83: Download complete 
f114c210789a: Download complete 
  • 2下载完后查看镜像是否下载完成
[root@doc ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 a1aa4f76fab9        28 hours ago        373MB
  • 3以最简单的方法启动MySQL
[root@doc ~]# docker run -d \
> --name mysql \
> -p 306:3306 \
> -e MYSQL_ROOT_PASSWORD=123456 \
> mysql:5.7
b3ec00bfa1bb4d6c5cce8e470f6c957821d9379aa0ac26cb305b4090fe38b861

-d:后台运行
--name mysql :制定容器名称为mysql
-p 306:3306 :将容器的 3306 端口挂载到宿主机的 306 端口上(连接端口)
-e MYSQL_ROOT_PASSWORD=123456 :指定root的密码为123456

此时可以查看启动的容器

[root@doc ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
b3ec00bfa1bb        mysql:5.7           "docker-entrypoint.s…"   About an hour ago   Up About an hour    33060/tcp, 0.0.0.0:306->3306/tcp   mysql

使用可视化工具可以连接


image.png
  • 4正式运行MySQL容器

由于上一种启动方法未将容器中的目录文件复制到宿主机上,每次启动容器数据都会丢失。可以有两种方法解决

  1.手动复制
docker cp mysql:/var/lib/mysql/ /root/data/mysql
2.删除之前的容器,在启动容器时直接将目录挂载到宿主机
[root@doc ~]# docker ps -all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
b3ec00bfa1bb        mysql:5.7           "docker-entrypoint.s…"   21 hours ago        Exited (0) 15 hours ago                       mysql
[root@doc ~]# docker rm b3ec00bfa1bb
b3ec00bfa1bb

 [root@doc data]# docker run -d --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v /root/data/mysql:/var/lib/mysql mysql:5.7
3536fe7480f9696a00e53ddcdae58d294d4ee2246ea8ce532dd69584b7183b4f
[root@doc data]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
3536fe7480f9        mysql:5.7           "docker-entrypoint.s…"   5 seconds ago       Up 4 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql1

-v /root/data/mysql:/var/lib/mysql 将容器中的/var/lib/mysql数据目录挂载到宿主机/root/data/mysql 目录下
通过客户端测试链接


image.png

新建数据库,到宿主机数据目录下查看,发现已经放到新的目录下

相关文章

网友评论

      本文标题:Docker快速搭建MySQL环境

      本文链接:https://www.haomeiwen.com/subject/ubikfctx.html