Linux下使用Docker做mysql的镜像部署

接着上一篇文档,上一篇文档讲述了如何使用Docker在Linux环境中部署一个javaWeb项目,这篇文档来讲一下如何做mysql镜像部署。


一、拉取mysql镜像

Docker中执行命令:

# docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7

等待镜像下载:

Linux下使用Docker做mysql的镜像部署


二、更改镜像名称

执行命令:

# docker images  查看docker下所有镜像

然后执行命令:

# docker tag registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7 mysql:5.7

修改镜像名字(原名字太长)

Linux下使用Docker做mysql的镜像部署

执行命令:

#  docker rmi -f registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7

删除原来镜像


三、根据镜像创建容器

执行命令:

#  docker create -it mysql:5.7

执行命令:

# docker ps -a   查看docker中的所有容器,发现容器已经生成。

Linux下使用Docker做mysql的镜像部署


四、启动mysql容器

执行命令:

# docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=sgcc -d -i -p 3306:3306  mysql:5.7

注意:--name mysqlserver  “--name”表示命名容器,MYSQL_ROOT_PASSWORD=sgcc 是设置数据库root用户密码。

Linux下使用Docker做mysql的镜像部署


五、查看启动的容器

执行命令:

# docker ps   查看正在运行中的容器

Linux下使用Docker做mysql的镜像部署


六、进入mysql终端

执行命令:

# docker exec -it  9be4d7267e97  /bin/bash  进入终端

执行命令:#  mysql -h 127.0.0.1 mysql -uroot -p  进入mysql服务

要求输入密码:

Enter password:

输入刚才设置的密码,可进入服务。

Linux下使用Docker做mysql的镜像部署


七、生成镜像副本

退出服务,回到根目录

执行命令:# docker commit -p 9be4d7267e97 mysql-backup  生成镜像副本。

执行命令查看已有镜像:

# docker images

Linux下使用Docker做mysql的镜像部署


八、镜像副本导出为tar包

由于部署的时候大多是内网部署,没有外网,所以我们选择在自己的虚拟机中将已经做好的镜像副本打包为tar。然后连接到待部署的服务器再上传上去。

执行命令:# docker save -o mysql.tar mysql-backup

可以在tar包所在的文件夹目录下执行ls -1命令查看生成的tar包。这里为方便统一管理将其移动到/opt目录下。

Linux下使用Docker做mysql的镜像部署


九、在待部署的Linux服务器上加载镜像文件

先将生成的mysql.tar放入待部署的服务器路径,这里为了方便也放入/opt/路径。

注意:待部署的服务器也需要安装Docker,步骤在上一篇博文已说明。然后,在/opt/ 路径下执行命令:docker load -i mysql.tar

可以通过docker images查看docker镜像是否加载到服务器中。


十、启动镜像文件

执行命令:# docker run -d -p 3306:3306 --name mysql mysql:latest 

docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可。docker run相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。

而docker start的作用是,重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用docker ps找到这个容器的信息。