Google 云计算实例更新
Google cloud compute instance update
我在 google 计算实例中使用 docker 图像部署了一个网站。
我无法使用新图像更新 google 云实例。使用新的 docker 图像和 运行 容器更新计算实例没有任何变化。
以下是我更新 google 计算实例所采取的步骤:
docker build -t vue_app -f deploy/web/Dockerfile . --tag gcr.io/namesapi-1581010760883/vue-app:v1
docker push gcr.io/namesapi-1581010760883/vue-app:v1
gcloud compute instances update-container --container-image=gcr.io/namesapi-1581010760883/vue-app:v1 vue-app-vm
因此,在第一行中,我构建了包含网站和 http 服务器的图像。我在本地 运行 它可以确认图像正在工作并且包含我期望的所有更改。
下一行将映像推送到 google 云,最后第三行应该使用新映像更新现有的 google 计算实例。
在 运行 之后,此 none 的更改反映在实例中。我访问实例上托管的网站,发现没有任何变化。我已经多次执行这些相同的步骤,并且直到最近都运行良好。我错过了什么?
问题已解决。供以后参考运行以下
gcloud compute instances update-container --container-image=gcr.io/namesapi-1581010760883/vue-app:v1 vue-app-vm
不会替换实例上的现有图像,而是创建一个新图像。所以一段时间后实例累积了一些图像:
REPOSITORY TAG IMAGE ID CREATED SIZE
gcr.io/namesapi-1581010760883/vue-app v1 d21bd8939323 9 days ago 394MB
gcr.io/namesapi-1581010760883/vue-app <none> c136b1c9e0d4 13 days ago 387MB
gcr.io/namesapi-1581010760883/vue-app <none> b1b11f2c9678 4 weeks ago 385MB
gcr.io/namesapi-1581010760883/vue-app <none> a5ef94db2438 4 weeks ago 385MB
gcr.io/namesapi-1581010760883/vue-app <none> 23b52253c060 6 weeks ago 385MB
gcr.io/namesapi-1581010760883/vue-app <none> cb03925836a7 2 months ago 384MB
gcr.io/gce-containers/konlet v.0.9-latest da64965a2b28 19 months ago 73.4MB
gcr.io/stackdriver-agents/stackdriver-logging-agent 0.2-1.5.33-1-1 fcfafd404600 22 months ago 548MB
我认为在我的案例中发生的事情是计算实例 运行 磁盘 space 并且当 运行 上述命令时没有推送新图像。 Google 云 API 没有发出警告或任何东西,这就是为什么这很难理解。
通过手动登录实例并删除旧图像解决了这个问题,然后重复原始问题中的步骤。
感谢@RaidasGrisk!
这个问题很疯狂
您可以使用启动脚本创建您的实例,这将清理您未使用的 docker 个图像:
gcloud compute instances create-with-container my-instance \
--machine-type f1-micro \
--metadata startup-script='#! /bin/bash
# Clear old Docker images
docker image prune -af' \
--zone us-central1-a \
--container-image gcr.io/my-project/my-image
此外,您可以使用 gcloud 客户端从您自己的计算机中删除未使用的 Docker 图像:
# Only the first time
gcloud compute config-ssh
gcloud compute ssh --verbosity=debug my-instance --command "docker image prune -af"
我在 google 计算实例中使用 docker 图像部署了一个网站。
我无法使用新图像更新 google 云实例。使用新的 docker 图像和 运行 容器更新计算实例没有任何变化。
以下是我更新 google 计算实例所采取的步骤:
docker build -t vue_app -f deploy/web/Dockerfile . --tag gcr.io/namesapi-1581010760883/vue-app:v1
docker push gcr.io/namesapi-1581010760883/vue-app:v1
gcloud compute instances update-container --container-image=gcr.io/namesapi-1581010760883/vue-app:v1 vue-app-vm
因此,在第一行中,我构建了包含网站和 http 服务器的图像。我在本地 运行 它可以确认图像正在工作并且包含我期望的所有更改。
下一行将映像推送到 google 云,最后第三行应该使用新映像更新现有的 google 计算实例。
在 运行 之后,此 none 的更改反映在实例中。我访问实例上托管的网站,发现没有任何变化。我已经多次执行这些相同的步骤,并且直到最近都运行良好。我错过了什么?
问题已解决。供以后参考运行以下
gcloud compute instances update-container --container-image=gcr.io/namesapi-1581010760883/vue-app:v1 vue-app-vm
不会替换实例上的现有图像,而是创建一个新图像。所以一段时间后实例累积了一些图像:
REPOSITORY TAG IMAGE ID CREATED SIZE
gcr.io/namesapi-1581010760883/vue-app v1 d21bd8939323 9 days ago 394MB
gcr.io/namesapi-1581010760883/vue-app <none> c136b1c9e0d4 13 days ago 387MB
gcr.io/namesapi-1581010760883/vue-app <none> b1b11f2c9678 4 weeks ago 385MB
gcr.io/namesapi-1581010760883/vue-app <none> a5ef94db2438 4 weeks ago 385MB
gcr.io/namesapi-1581010760883/vue-app <none> 23b52253c060 6 weeks ago 385MB
gcr.io/namesapi-1581010760883/vue-app <none> cb03925836a7 2 months ago 384MB
gcr.io/gce-containers/konlet v.0.9-latest da64965a2b28 19 months ago 73.4MB
gcr.io/stackdriver-agents/stackdriver-logging-agent 0.2-1.5.33-1-1 fcfafd404600 22 months ago 548MB
我认为在我的案例中发生的事情是计算实例 运行 磁盘 space 并且当 运行 上述命令时没有推送新图像。 Google 云 API 没有发出警告或任何东西,这就是为什么这很难理解。
通过手动登录实例并删除旧图像解决了这个问题,然后重复原始问题中的步骤。
感谢@RaidasGrisk!
这个问题很疯狂
您可以使用启动脚本创建您的实例,这将清理您未使用的 docker 个图像:
gcloud compute instances create-with-container my-instance \
--machine-type f1-micro \
--metadata startup-script='#! /bin/bash
# Clear old Docker images
docker image prune -af' \
--zone us-central1-a \
--container-image gcr.io/my-project/my-image
此外,您可以使用 gcloud 客户端从您自己的计算机中删除未使用的 Docker 图像:
# Only the first time
gcloud compute config-ssh
gcloud compute ssh --verbosity=debug my-instance --command "docker image prune -af"