如何将 docker 容器目录复制到 Google Compute Engine 实例

How to copy docker container directories to Google Compute Engine instance

我是 Google Cloud 和 Docker 的新手,我一辈子都搞不懂如何从 Docker 容器复制目录(推送到Container Registry)到 Google Compute Engine 实例。我想我需要安装卷,但我真的不知道如何。在 docker 容器中,主目录是 /app,其中包含我的文件。基本上我想这样做是为了在 Google Cloud 中查看 docker 容器的文件。

我假设如果我这样做了:docker 将 [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] 拉入云 shell 文件会出现在某个地方在云 shell 中,即在 var/lib/docker 中,但是当我 cd 到 var/lib/docker 并输入: ls 我得到

ls: cannot open directory '.': Permission denied

补充一下,我尝试按照“连接到云存储桶”教程进行操作 https://cloud.google.com/compute/docs/disks/gcs-buckets 但意识到这是针对单个文件的。是否可以使用 gsutil 复制 Docker 图像的整个根目录?我是否需要改用其他东西,例如永久性磁盘?

您需要安装 docker 才能 运行 您的图像,当然还能够将图像内部的任何内容复制到您的主机文件系统。

使用docker cp CONTAINER:SRC_PATH DEST_PATH复制文件。

查看官方 Docker Documentation 了解如何使用此命令。 类似的主题也是 discussed here on Whosebug 并且有一个很好的答案。