我已阅读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
答案 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]