拉取Docker映像会极大地增加GCP成本/降低性能/存储

时间:2020-07-17 12:23:51

标签: docker google-cloud-platform docker-compose

当我尝试将docker映像部署到gcp并收到错误设备上没有空间时,我的主要问题首先开始。看了一会儿之后,我发现我必须删除/ var / lib / docker并再次拉出图像。

sudo umount /var/lib/docker/
    sudo systemctl stop docker
   sudo umount /var/lib/docker/
   sudo rm -rf /var/lib/docker/
    sudo systemctl restart  docker
    docker pull myImage
   docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v "$PWD:/rootfs/$PWD" -w="/rootfs/$PWD" docker/compose:1.26.0 up -d

当我想摆脱以前的图像/容器等时,我运行docker system prune -a,但似乎没有任何修剪。每当我要部署另一个映像时,都会重复出现相同的问题。

因此,我遇到了两个可怕的问题,在过去的三天内,情况变得更加糟糕。

  1. 服务器变得异常缓慢,我收到502 Bad Gateaway(nginx,我假设服务器已停止响应)。我收到此消息,要求我提高性能 该实例最近具有很高的内存利用率。考虑切换到机器类型:自定义(1个vCPU,6.25 GB内存)
  2. 服务器成本增加了很多。首先,每当我部署一个新映像时,我就需要支付NA至EU之间20-30欧元的GCP存储出口费用,该费用一直在增加。在过去的3天里,即使我没有部署任何东西,我仍然要为此付费。为了进行比较,我估计一个月的服务器总成本从150欧元增加到925欧元。

我之前也尝试过查看inode的用法,但是找不到问题。

我的docker映像总共约为400 MB。因此,它不应使磁盘已满。我的计算机类型是自定义的(1个vCPU,4.75 GB内存)**,并且具有10 GB的标准永久磁盘

如何解决这些问题?我特别关心第一个问题,但是我认为第一个问题的答案也应该对第二个问题有所帮助。

注意:我的VM在德国,因此从gcr.io中提取图像的成本(它是从NA中提取的。我不知道如何从德国中提取图像)

1 个答案:

答案 0 :(得分:4)

在GCP中使用docker时,我会考虑使用GCR(Google容器注册表)。

您的502,可能会导致容器永久重启以进行健康检查。一个问题。因此,无限循环重启。始终采用拉动策略。

您是否在VM上运行docker?或者您正在使用GKE(Google Kubernetes Engine)

无论如何,如果您决定使用GCR,则无需为图片拉取付费... 只要您的VM / GKE居住在相同的区域/区域

您可以选择使用其他主机从特定位置提取图像:

eu.gcr.io代替gcr.io

请参阅:https://cloud.google.com/container-registry/docs/pushing-and-pulling

您可能还必须在eu.gcr.io上对其进行新构建

Google容器注册表存储在Cloud Storage Bucket上。 您可以擦拭桶,以确保桶不见了。

从云控制台检查存储浏览器: https://console.cloud.google.com/storage/browser?project=PROJECT_ID_HERE

存储桶应如下所示:
.artifacts。 .appspot.com

请确保先浏览它,因为卸下存储桶会擦掉所有工件。