我在 Google Container Engine 上的 container-vm 上的容器中运行服务。我跟着https://cloud.google.com/compute/docs/containers/container_vms#creating_containers_at_time_of_instance_creation
首先创建了containers.yaml
conf:
version: v1beta2
containers:
- name: example-image
image: gcr.io/your_project_name/example-image
然后创建实例:
gcloud compute instances create containervm-example \
--image container-vm \
--metadata-from-file google-container-manifest=containers.yaml \
--zone us-central1-a \
--machine-type f1-micro
如果我的图像更改为gcr.io/your_project_name/example-image:new-tag
如何更新正在运行的容器?
我是否必须删除该实例并创建另一个具有相同名称但更新的 conf 文件与我的新图像名称的实例?这对我来说似乎有点激进。如果我尝试从 vm 停止正在运行的容器,它会自动重新启动。如果可能的话,我不想在 vm 上做任何手动操作,我只想在它上面运行我的容器。
在此视频中,我看到他使用如下命令更新正在运行的容器:
cloudcfg.sh -u 15s rollingupdate dataController
但我没有找到文档,它是用于在 Kubernetes 集群中运行容器的。如果我正在运行容器虚拟机,建议在其中维护容器的方法是什么?容器仍然具有 kublet 服务,但我找不到如何在容器的映像更改时使用它来更新容器。