Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 谷歌云计算实例更新_Docker_Google Cloud Platform_Google Compute Engine_Google Compute Api - Fatal编程技术网

Docker 谷歌云计算实例更新

Docker 谷歌云计算实例更新,docker,google-cloud-platform,google-compute-engine,google-compute-api,Docker,Google Cloud Platform,Google Compute Engine,Google Compute Api,我在google compute实例中使用docker image部署了一个网站 我无法用新图像更新google cloud实例。使用新的docker映像更新计算实例并运行容器不会改变任何内容 以下是我更新google compute实例的步骤: docker build -t vue_app -f deploy/web/Dockerfile . --tag gcr.io/namesapi-1581010760883/vue-app:v1 docker push gcr.io/namesapi-

我在google compute实例中使用docker image部署了一个网站

我无法用新图像更新google cloud实例。使用新的docker映像更新计算实例并运行容器不会改变任何内容

以下是我更新google compute实例的步骤:

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服务器的图像。我在本地运行了它,可以确认映像是否正常工作,并包含我期望的所有更改

下一行是将图像推送到谷歌云,最后第三行是用新图像更新现有的谷歌计算实例


运行此命令后,实例中不会反映任何更改。我访问了实例上托管的网站,发现没有任何变化。我已经做了很多次同样的步骤,直到最近一切都很好。我遗漏了什么?

解决了这个问题。为便于将来参考,请运行以下命令

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
我认为在我的例子中发生的是compute实例的磁盘空间不足,并且在运行上述命令时没有推送新映像。谷歌云API并没有提出警告或任何东西,这就是为什么这很难理解的原因


通过手动登录实例并删除旧图像,然后重复原始问题中的步骤,解决了此问题。

解决了此问题。为便于将来参考,请运行以下命令

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
我认为在我的例子中发生的是compute实例的磁盘空间不足,并且在运行上述命令时没有推送新映像。谷歌云API并没有提出警告或任何东西,这就是为什么这很难理解的原因

通过手动登录实例并删除旧图像,然后重复原始问题中的步骤,解决了此问题。

谢谢@RaidasGrisk

这个问题太疯狂了谢谢@RaidasGrisk


这个问题是疯狂的当你在启动脚本中删减未使用的图像时会发生什么?在启动时,没有容器正在运行,因此脚本将删除所有图像,然后GCE将从头开始重新安装所有图像?@kennysong否,调用启动脚本时,容器已在运行。在启动脚本中删除未使用的图像时会发生什么情况?在启动时,没有容器正在运行,因此脚本将删除所有图像,然后GCE将从头开始重新安装所有内容?@kennysong否,调用启动脚本时,您的容器已在运行