首页 > 数据库技术 > 详细

docker 部署mysql

时间:2019-06-05 12:04:21      阅读:120      评论:0      收藏:0      [点我收藏+]

先介绍利用的两个数据卷挂载的规则,这对于理解挂载mysql数据库存储非常有帮助。

  1. 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。
  2. 如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据。如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。

mysql数据库物理存储位置/var/lib/mysql

步骤:

1.拉取镜像

$docker pull mysql:5.7

2.创建数据卷

# 创建数据卷
docker volume create my-vol(数据卷名称)
# 查看已有的数据卷
docker volume ls
#查看数据卷信息
docker volume inspect my-vol(数据卷名称)
# 删除数据卷
docker volume rm my-vol(数据卷名称)

3.运行容器

$docker run -d --name mysql -v my-vol:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7
-d : --detach,后台运行。 
--name : 为你的镜像创建一个别名,该别名用于更好操作。
-h : 用户名称
-p : 映射端口,一般我们会将默认端口进行更改,避免与本机的mysql端口冲突,如果你宿主机有mysql,请更改端口,如 -p 3307:3306。
-e : 环境变量。为mysql的root用户设置密码为root。
-v : 指定数据卷,意思就是将mysql容器中的/var/lib/mysql(这个是数据库所有数据信息文件)映射到宿主机/data/mysql里面。

允许远程连接
连接mysql,进行设置即可

mysql -u root -P 3307 -h 127.0.0.1 -p root;
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;

这里又不得不提数据卷的特性,生命周期独立于容器,意味着我们可以创建新的mysql容器,只需要指定同一个数据卷就可以了。
至此简单的利用docker部署了一个简单的mysql容器,如果需要更个性化的conf,配置即可。

redis:

$ docker pull redis
$ docker run --name redis -d -p 6379:6379 redis

  

docker 部署mysql

原文:https://www.cnblogs.com/yoyo1216/p/10978339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!