Linux下使用Docker做mysql的镜像部署
接着上一篇文档,上一篇文档讲述了如何使用Docker在Linux环境中部署一个javaWeb项目,这篇文档来讲一下如何做mysql镜像部署。
一、拉取mysql镜像
Docker中执行命令:
# docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7
等待镜像下载:
二、更改镜像名称
执行命令:
# docker images 查看docker下所有镜像
然后执行命令:
# docker tag registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7 mysql:5.7
修改镜像名字(原名字太长)
执行命令:
# docker rmi -f registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7
删除原来镜像
三、根据镜像创建容器
执行命令:
# docker create -it mysql:5.7
执行命令:
# docker ps -a 查看docker中的所有容器,发现容器已经生成。
四、启动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用户密码。
五、查看启动的容器
执行命令:
# docker ps 查看正在运行中的容器
六、进入mysql终端
执行命令:
# docker exec -it 9be4d7267e97 /bin/bash 进入终端
执行命令:# mysql -h 127.0.0.1 mysql -uroot -p 进入mysql服务
要求输入密码:
Enter password:
输入刚才设置的密码,可进入服务。
七、生成镜像副本
退出服务,回到根目录
执行命令:# docker commit -p 9be4d7267e97 mysql-backup 生成镜像副本。
执行命令查看已有镜像:
# docker images
八、镜像副本导出为tar包
由于部署的时候大多是内网部署,没有外网,所以我们选择在自己的虚拟机中将已经做好的镜像副本打包为tar。然后连接到待部署的服务器再上传上去。
执行命令:# docker save -o mysql.tar mysql-backup
可以在tar包所在的文件夹目录下执行ls -1命令查看生成的tar包。这里为方便统一管理将其移动到/opt目录下。
九、在待部署的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找到这个容器的信息。