Docker初学到实战(四)搭建MySql数据库

        根据上一章讲的,现在装个MySql数据库就简单了,也就是找个MySql的容器镜像,拉取下来以后,以一个容器启动就可以了,具体步骤如下:

一、先到Docker Hub上搜索一下MySql的镜像,看看它的说明等信息,怎么使用安装等。

下面的截图就是mysql在镜像仓库中的说明,滚轮往下翻就可以看到,我是用谷歌浏览器自动翻译的 ,我截取了两个重要的地方标注了一下

 

 在上面三张截图中是官方告诉我们启动MySql时,如果你想要设置密码,或者设置数据存储位置,或者配置文件储存位置时需要什么命令,后面我会综合一下贴出启动命令。

 二、.拉取镜像,当然现在我们拉取镜像有两种方法了:

        1.一种是在服务器上用命令拉取,就像上一章拉取Portainer一样,我们这里没跟版本号,默认拉取最新镜像:

         拉取完成后,可以通过 docker images命令查看,如下图

        2. 也可以在我们之前装的Portainer上查看,如下图:

 当然在这里也可以管理我们的镜像,如拉取新的镜像,删除不用的镜像等等。

        2.还有另一种方式,在Portainer上通过可视化的交互界面来拉取镜像,操作如下:

 三、启动容器

        现在我们启动容器和拉取镜像一样,可以有两种方式,一种是在服务器上通过命令,一种是通过Portainer来启动。

1.通过命令启动

        在本文开头,第一大点上我们浏览了mysql的说明文件,上面也有好多启动的命令参数,那我这里总结了一般情况下的启动方式:

我们一般在启动MySql的时候至少要干三件重要的事情:

        1.密码要设置一下,目的不用说了。

        2.配置文件要存到物理机上,防止容器删除后配置数据丢失。

        3.数据文件要存到物理机上,防止容器删除后数据就没了。

所以综合以上三点的启动代码就是:

docker run 
-d 
-p 3306:3306 
--restart=always 
--name mysql 
-e MYSQL_ROOT_PASSWORD=123456 
-v=/root/mysql/conf/my.cnf:/etc/mysql/my.cnf 
-v=/root/mysql/data/:/var/lib/mysql/ 
-v=/etc/localtime:/etc/localtime 
mysql:latest

这里面的参数有:-d,-p,--name,-e,-v,可以自行度娘解释很多。

注意:启动命令中

-v=/root/mysql/conf/my.cnf:/etc/mysql/my.cnf 

-v=/root/mysql/data/:/var/lib/mysql

这两行是挂在目录,当宿主机目录下是空的时候容器是启动不起来的,还需要做一部操作,就是先去掉这两行命令让容器启动,然后进入容器,用docker cp 命令(改名了用法可以度娘),把容器中的my.cnf 文件拷贝到宿主机对应的目录下(我这里是/root/mysql/conf/目录下),再把容器中/var/lib/mysql目录下的所有文件拷贝到宿主机将要挂在的目录下(我这里是/root/mysql/data/)。最后再把刚刚启动的mysql容器删除掉,重新执行完整的命令,就能正常挂在目录了。

-v=/etc/localtime:/etc/localtime

挂载容器时间与物理机时间一致,解决时间差8个小时的问题

以上目的是为了让数据库文件存到宿主机(物理机)上,这样保证数据文件不丢失。

启动成功后会返回一个字符串,然后可以输入命令docker ps查看,如下图 :

注意状态和端口,是否正常,如果启动后有正常返回一个字符串,这里有看不到,那么请输入命令docker ps -a 查看所有容器,包含已停止的,因为有可能你刚刚启动命令有问题,启动后马上就停止了。

这个时候你可以把这个停止的容器(有问题,启动不起来)删掉,重新启动一个新的。删除命令docker rm -f 容器ID。命令不懂可以度娘。

2.通过Portainer启动

 

 最后适完成后,选择提交创建。

 创建成功后,回到容器管理界面查看是否运行正常:

 然后开通物理机的3306端口:

 最后再用数据库连接软件通过公网IP(xxx.xxx.xxx.xxx)连接数据库:

至此,MySQL就全部安装完成。

补充:在启动容器之前我们可以不用专门去拉取对应的镜像,我们可以启动一个容器就行,然后启动容器时会自动检查本地是否有对应版本的镜像,如果没有会自动拉取的。

下一章我们安装一个Apollo配置服务中心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值