如何通过更新容器镜像将容器部署到GCE? [英] How to deploy container to gce by updating container image?

查看:21
本文介绍了如何通过更新容器镜像将容器部署到GCE?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用以下命令设置CD以将容器部署到GCE:

gcloud compute instances stop my-awesome-app
gcloud compute instances update my-awesome-app --no-shielded-integrity-monitoring
gcloud beta compute instances update-container my-awesome-app --container-image=docker.io/my-docker-hub-user/my-awesome-app:${IMAGE_TAG}
gcloud compute instances start my-awesome-app

实例随后将停止,替换容器映像并启动。

如果我使用最新映像创建新实例,则一切正常。

如果我使用CD管道进行部署,实例总是永远挂起(在接收到Start事件之后,不会有新的日志记录),不会拉出新的映像,也不会启动和运行。

任何人都能告诉我有什么问题吗?

推荐答案

我不启动和停止实例来更新容器。我只是:

gcloud compute instances update-container $instanceName2 --zone $instanceZone --container-image $registry:$BUILD_ID

但是在拉取新的图像之前,我总是做一个坞站修剪,以避免我的磁盘被图像填满:

gcloud compute ssh $instanceName2 --zone $instanceZone --command 'docker system prune -f -a'

对我来说,更好的方法是使用指向我的存储库的模板,并从该模板构建托管实例组。这样,您可以实现零停机部署,并且99%的时间内仍然只有一台计算机正常运行。Details

这篇关于如何通过更新容器镜像将容器部署到GCE?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆