docker高级应用之镜像打包与节点推送

目前我这里使用docker作caas平台,主要是解决:web

一、运维沙箱环境测试;docker

二、研发半自动化代码部署与回滚;bash

三、集群化应用与auto scale。运维

目前这3点都实现,但在第2点与第3点联系的时候有个问题。在第2里,研发测试成功的代码会被打包为一个p_w_picpaths,放入私有库,而后第3部集群更新的时候,会选择这个成功版本的镜像,但在更新中,因为每一个节点都须要从私有库里获取镜像,这样节点越多更新越慢,因此为了解决这个问题,我这里在第二步研发打包p_w_picpath以后,会进行一下全部节点推送,这样在进行集群更新的时候,会很快了。ide

下面是我进行代码自动打包为镜像与镜像全节点推送的操做过程。测试

一、代码自动打包为镜像blog

主要是在容器所在宿主机里运行下面命令部署

docker commit --pause=false  container_name p_w_picpath_name:p_w_picpath_tag &>>/dev/null && docker push p_w_picpath_repo/p_w_picpath_name:p_w_picpath_tag &>>/dev/null && echo 0 || echo 1

上面只是操做的命令,实现操做我已经在程序里封装好了。get

下面是web平台里的操做状况同步

wKioL1XtAofBndrVAAGjgOPROq4159.jpg

我想对容器test_update进行镜像打包,那么就点击Compress按钮输入具体描述就能够。

wKioL1XtA73zzq6SAACwAyg-YHA028.jpg

而后选择肯定,等一会就会出现

wKioL1XtBBORtv1IAALscW8OnU8447.jpg能够看到右侧有个对话框,显示容器打包为镜像成功。

而后在去容器管理里查看具体信息

wKiom1XtAkCQicZrAAGnnHktexg252.jpg


能够看到镜像已经有了,在经过Info按钮查看具体信息

wKioL1XtBJHB9bv4AAGzC8DXpHk182.jpg

能够看到详情跟以前打包的同样。

二、进行镜像推送到全部节点

也是在镜像管理里,选择push按钮

wKiom1XtArWB9NxBAAGKDNzC6Fk018.jpg

选择推送就会在全部节点里同步镜像信息,其实也就是在全部节点运行docker pull命令

wKiom1XtAxyAdGLzAAOAFJNlrrc459.jpg能够经过左下角的firebug看到经过18.18秒就在全部节点里给361m的镜像同步完成。

以后这个进行就能够被集群环境或者其余环境给使用。

相关文章
相关标签/搜索