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容器目录复制到Google计算引擎实例_Docker_Google Cloud Platform_Google Compute Engine - Fatal编程技术网

如何将docker容器目录复制到Google计算引擎实例

如何将docker容器目录复制到Google计算引擎实例,docker,google-cloud-platform,google-compute-engine,Docker,Google Cloud Platform,Google Compute Engine,我是Google Cloud和Docker的新手,我一辈子都不知道如何将目录从Docker容器(推送到容器注册表)复制到Google计算引擎实例。我想我需要增加音量,但我真的不知道怎么做。在docker容器中,主目录是/app,其中包含我的文件。基本上,我想这样做是为了在谷歌云中查看docker容器的文件 我假设如果我这样做了:docker在云shell内部拉[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG],文件将显示在云shell的某个地方,即var/lib/dock

我是Google Cloud和Docker的新手,我一辈子都不知道如何将目录从Docker容器(推送到容器注册表)复制到Google计算引擎实例。我想我需要增加音量,但我真的不知道怎么做。在docker容器中,主目录是/app,其中包含我的文件。基本上,我想这样做是为了在谷歌云中查看docker容器的文件

我假设如果我这样做了:docker在云shell内部拉[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG],文件将显示在云shell的某个地方,即var/lib/docker中,但当我将其cd到var/lib/docker并键入:ls时,我得到

ls:无法打开目录“”:权限被拒绝

只是想补充一点,我已经尝试了“连接到云存储桶”教程
但意识到这是针对单个文件的。是否可以使用gsutil复制Docker映像的整个根目录?我是否需要使用其他东西,例如永久磁盘?

您需要安装docker,以便运行映像,当然也能够将映像内部的任何内容复制到主机文件系统


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

看看官方如何使用这个命令。
类似的主题也是,并且有一个非常好的答案。

docker cp CONTAINER:SRC_PATH DEST_PATH
完美回答@JohnHanley!!您需要在计算引擎上安装docker。在您的计算引擎上使用COS引导映像,更容易!谢谢你,约翰·汉利会试试的。另外,您是否知道将用于验证Docker身份的密钥文件存储在何处?将其储存在Docker容器中似乎有点奇怪,但我不知道其他方法。@guillaume blaquiere谢谢。我现在正在使用COS映像。您所说的“验证Docker”是什么意思?你的意思是通过Google容器注册或其他方式进行身份验证?如果您想向容器提供服务帐户,通常您会使用Docker Volume For Compute Engine COS查看
--容器装载主机路径
,并在使用
--容器环境=
选项启动实例时设置环境变量
谷歌应用程序凭据
。谢谢。我只是想知道如何复制整个Docker文件系统?这甚至可以在普通中等教育证书上完成吗?我之所以想这样做,是为了让Docker目录可以从CloudShell访问。另外,在设置身份验证时,我将在哪里存储要在Google计算引擎中使用的密钥文件?我认为将其存储在Docker容器本身有点违反直觉。您可以复制几乎所有内容,但这取决于您在容器中运行的内容。当我运行
docker cp container:/。
时,我遇到了一个错误,但能够复制具有目录结构的大多数文件。只有那些正在使用的可能不会被复制或将过时/损坏。