目前我这里使用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平台里的操做状况同步
我想对容器test_update进行镜像打包,那么就点击Compress按钮输入具体描述就能够。
而后选择肯定,等一会就会出现
而后在去容器管理里查看具体信息
能够看到镜像已经有了,在经过Info按钮查看具体信息
能够看到详情跟以前打包的同样。
二、进行镜像推送到全部节点
也是在镜像管理里,选择push按钮
选择推送就会在全部节点里同步镜像信息,其实也就是在全部节点运行docker pull命令
能够经过左下角的firebug看到经过18.18秒就在全部节点里给361m的镜像同步完成。
以后这个进行就能够被集群环境或者其余环境给使用。