为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Docker


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

1、运维沙箱环境测试;

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

3、集群化应用与auto scale。

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

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

1、代码自动打包为镜像

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

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

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

下面是web平台里的操作情况

wKioL1XtAofBndrVAAGjgOPROq4159.jpg

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

wKioL1XtA73zzq6SAACwAyg-YHA028.jpg

然后选择确定,等一会就会出现

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

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

wKiom1XtAkCQicZrAAGnnHktexg252.jpg

可以看到镜像已经有了,在通过Info按钮查看具体信息

wKioL1XtBJHB9bv4AAGzC8DXpHk182.jpg

可以看到详情跟之前打包的一样。

2、进行镜像推送到所有节点

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

wKiom1XtArWB9NxBAAGKDNzC6Fk018.jpg

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

wKiom1XtAxyAdGLzAAOAFJNlrrc459.jpg可以通过左下角的firebug看到通过18.18秒就在所有节点里给361m的镜像同步完成。

之后这个进行就可以被集群环境或者其他环境给使用。

©著作权归作者所有:来自51CTO博客作者dl528888的原创作品,如需转载,请注明出处,否则将追究法律责任

docker 镜像打包docker镜像预下载docker容器打包运维自动化专题


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消