2014-07-09 21 views
3

我在Windows上运行Boot2Docker v1.0.1,并希望启动我在Google Compute Engine虚拟机上创建的Docker容器。Boot2Docker到Google Compute Engine VM:保存Docker容器

为了做到这一点,我需要保存容器并将其上传到Google云端存储。 我发出以下命令:

泊坞窗保存--output = mycontainer.tar myContainer中:最新

命令完成而没有错误。但是,我无法在硬盘上的任何位置找到rce_env.tar文件。

有没有人有这方面的经验?如果没有,是否有更好的方式在GCE虚拟机上运行容器?

回答

0

我知道你在windows上使用boot2docker。

在一个类似的设置,使用OSX和boot2docker 1.1.0,以下工作:

docker save --output mycontainer.tar mycontainer:latest 

由于还没有重定向标准输出:

docker save mycontainer:latest > mycontainer.tar 
+0

我看到发生了什么,该文件mycontainer.tar只是我boot2docker会话中访问。当我执行“docker save”并输入“ls”时,它会显示在boot2docker的目录中。但是,它在我的硬盘上似乎完全不可访问。我目前正在弄清楚是否可以将tar文件从Boot2Docker推送到Google Cloud Storage。 – kungfuspider

+0

这似乎不可能。我无法在Boot2Docker上安装云端sdk,因为它不支持bash,而且我也不能将dock系统上的.tar文件推送到云端存储。即使我能做到,我也不确定这是否会起作用。有没有人有什么建议?我真的很茫然 – kungfuspider

+0

@ user3818431我对windows的boot2docker没有经验,但是在OSX上,它安装了一个可以从主机使用的'docker'命令行工具。如果您没有选项,您可以尝试配置VirtualBox共享文件夹。如果这样也行不通,你可以使用另一个docker容器和bash支持(例如,使用'ubuntu'图像)并使用docker卷'docker run -v ...'来访问文件) –

3

您可以运行google/docker-registry本地把你的容器图像GCS。

docker run -ti --name gcloud-config google/cloud-sdk \ 
    gcloud auth login 
docker run -ti --volumes-from gcloud-config google/cloud-sdk \ 
    gcloud config set project <project> 
docker run -d -e GCS_BUCKET=bucketname -p 5000:5000 \ 
    --volumes-from gcloud-config google/docker-registry 
docker tag imagename localhost:5000/imagename 
docker push localhost:5000/imagename 

然后在GCE上运行它以从GCS拉出容器。

docker run -d -e GCS_BUCKET=bucketname -p 5000:5000 google/docker-registry 
docker run localhost:5000/imagename 
+0

google/docker-registry做什么? (我以为码头的中心用来向你展示一些码头回购的细节,但现在还没有。)谢谢。 –

+0

恢复,谢谢。 – proppy

相关问题