Docker图像gcloud应该从

时间:2017-04-28 19:50:25

标签: google-app-engine docker cloud containers google-cloud-platform

我已阅读here我可以使用gcloud sdk从容器图片创建实例。以下是他们对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在本地运行它,但我不了解图像的位置。我是否可以将图像scp到我在云计算上运行的VM上,然后使用上面的代码片段?我怎样才能找到这张图片呢? This question表示它们位于 /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

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

1 个答案:

答案 0 :(得分:6)

  

我不明白图片的位置。

它位于您当地的docker存储库(可由a local registry service提供,但您不需要此处)

  

我可以将图像scp到我在云上运行的VM计算“gcloud alpha compute instances create-from-container”命令。

不完全是:您可以将本地图片推送到Google云注册服务:请参阅“GCP: Pushing and Pulling Images

按下图像后,您可以使用“gcloud alpha compute instances create-from-container”命令。

因此,您无需知道完全您的图像存储在本地的位置 你只需要:

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

    docker tag [IMAGE] [HOSTNAME]/[YOUR-PROJECT-ID]/[IMAGE]
    
  •   
  • 通过运行以下命令将图像推送到Container Registry:

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