【发布时间】:2018-10-10 20:29:55
【问题描述】:
我有一个执行单个大型计算的 Docker 容器。此计算需要大量内存,运行大约需要 12 小时。
我可以创建一个适当大小的 Google Compute Engine VM,并使用“将容器映像部署到此 VM 实例”选项来完美运行此作业。但是,一旦作业完成,容器就会退出,但 VM 仍在运行(并充电)。
容器退出时如何让虚拟机退出/停止/删除?
当虚拟机处于僵尸模式时,只有 stackdriver 容器仍在运行:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bfa2feb03180 gcr.io/stackdriver-agents/stackdriver-logging-agent:0.2-1.5.33-1-1 "/entrypoint.sh /u..." 17 hours ago Up 17 hours stackdriver-logging-agent
161439a487c2 gcr.io/stackdriver-agents/stackdriver-metadata-agent:0.2-0.0.17-2 "/bin/sh -c /opt/s..." 17 hours ago Up 17 hours 8000/tcp stackdriver-metadata-agent
我这样创建虚拟机:
gcloud beta compute --project=abc instances create-with-container vm-name \
--zone=us-central1-c --machine-type=custom-1-65536-ext \
--network=default --network-tier=PREMIUM --metadata=google-logging-enabled=true \
--maintenance-policy=MIGRATE \
--service-account=xyz \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--image=cos-stable-69-10895-71-0 --image-project=cos-cloud --boot-disk-size=10GB \
--boot-disk-type=pd-standard --boot-disk-device-name=vm-name \
--container-image=gcr.io/abc/my-image --container-restart-policy=on-failure \
--container-command=python3 \
--container-arg="a" --container-arg="b" --container-arg="c" \
--labels=container-vm=cos-stable-69-10895-71-0
【问题讨论】:
标签: containers google-compute-engine