是否有一种直接的方法可以将文件从本地计算机复制到Google Compute Engine上的VM实例中的docker容器中?
我知道gcloud compute ssh --container=XX
是一种在容器上执行命令的简单方法,但是没有类似的gcloud compute scp --container=XX
。注意:我使用命令gcloud alpha compute instances create-from-container ...
注意,除了能够传输文件之外,拥有rsync
类型功能会更好。
答案 0 :(得分:1)
不幸的是,如果没有您的某些设置(并且它未处于测试阶段),它看起来不可用:尽管创建了卷映射,但您可以通过在容器内运行sshd来监听它自己的端口映射到主机:
gcloud compute firewall-rules创建CONTAINER-XX-SSH-RULE --allow tcp:2022 --target-tags = XX-HOST
gcloud compute scp --port 2022 --recurse stuff / user @ XX-HOSTNAME:
或
答案 1 :(得分:1)
我通常使用的方法是在本地计算机和云虚拟机之间使用对象存储。在AWS上,我使用s3 sync
,在Google上您可以使用gsutil rsync
首先是关于本地'的数据。当我准备部署它时,开发机器会被推入对象存储器。
然后,VM使用s3 sync
从对象存储中提取内容。我认为您可以使用gsutil
执行相同操作,将Google对象存储中的数据提取到Google容器中。 (事实上,你似乎甚至可以使用gsutil在云之间进行rsync)。
这是我的鞋带开发环境。它需要更多的工作,但使用对象存储作为中间人来在机器之间同步数据快照提供了一点灵活性,可重现的环境和安心。