我使用Docker将我的网络服务部署到GCE,并按照此处给出的说明进行操作:https://blog.golang.org/docker
我在Bitbucket上创建了一个私有存储库,进行了自动构建,并且我可以使用" docker run namespace / repo"来运行我的构建。记得要跑#24;码头登录"事先(!)。
现在,创建GCE实例成功没有错误,但我的图像没有运行(使用" sudo docker ps")
如何设置containers.yaml以安装私有Docker镜像?
下面是我的containers.yaml文件:
version: v1beta2
containers:
- name: my-webservice
image: namespace/repo:latest
ports:
- name: http
hostPort: 80
containerPort: 8080
答案 0 :(得分:1)
不幸的是,我没有在清单中看到任何可以让您在manifest spec中指定登录凭据的内容,但可能有办法解决它。
您可以运行启动脚本,因此请尝试使用
创建一个#!/bin/sh
docker login -u your_user -p yourpassword
然后使用
将启动脚本添加到您的实例中gcloud compute instances add-metadata yourvmname \
--metadata-from-file startup-script=yourshellscript.sh
这应该在docker启动之前运行该脚本,并在它拉动图像时登录。
如果这不起作用,有一种方法可以从云存储桶中加载名为docker-registry-driver-gcs的docker镜像。您可以看到示例here。