docker图像gcloud应该从哪里build立

我读过这里 ,我可以使用gcloud sdk从容器图像创build一个实例。 以下是他们如何为nginx做的事情。

 gcloud alpha compute instances create-from-container nginx-vm \ --docker-image=gcr.io/google-containers/nginx:latest \ --port-mappings=80:80:TCP 

我希望能够用我制作的节点图像做到这一点。 我可以使用docker run -p 49160:8080 -d myusername/node-web-app在本地运行它,但我不明白图像在哪里。 是否可以将映像映射到我在云计算上运行的虚拟机,然后使用类似上面的代码片段? 我怎样才能find这个形象,为了做到这一点? 这个问题表明它们位于/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2 ,这里的列表看起来不太有希望:

 - . - .. - Docker.qcow2 - console-ring - console-ring.0 - console-ring.1 - console-ring.2 - console-ring.3 - console-ring.4 - console-ring.5 - hypervisor.pid - lock - log - mac.0 - nic1.uuid - pid - syslog - tty -> /dev/ttys000 

这是从云计算的容器上构build的正确方法吗? 如果是这样,应该从哪个图像应该build立的应用程序?

我不明白这个图像在哪里。

它在您的本地docker仓库(可以由本地registry服务提供 ,但您不需要在这里)

是否可以将映像映射到我在云上运行的虚拟机的想法是计算“ gcloud alpha compute instances create-from-container ”命令。

不完全是:这个想法是,你可以把你的本地图像推到谷歌云registry服务:请参阅“ GCP:推和拉图像 ”

一旦图像被推送,您可以使用“ gcloud alpha compute instances create-from-container ”命令。

所以你不需要确切地知道你的图像在本地存储的位置。
你只需要:

  • 通过运行以下Docker命令来标记图像:

     docker tag [IMAGE] [HOSTNAME]/[YOUR-PROJECT-ID]/[IMAGE] 
  • 通过运行以下命令将映像推送到容器registry:

     gcloud docker -- push [HOSTNAME]/[YOUR-PROJECT-ID]/[IMAGE]