使用Docker部署Web服务应用程序

我正在使用Docker将我的Web服务部署到GCE,并按照以下说明进行操作: https : //blog.golang.org/docker

我已经在Bitbucket上创build了一个私有存储库,做了一个自动构build,并且我能够运行我的构build“docker run命名空间/回购”记得事先(“)运行”dockerlogin“。

现在,创buildGCE实例成功没有错误,但我的图像没有运行(使用“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 

不幸的是,我没有看到清单中的任何东西可以让你在清单规范中指定login凭据,但是可能有办法解决这个问题。

你可以运行启动脚本,所以试着用

 #!/bin/sh docker login -u your_user -p yourpassword 

然后将启动脚本添加到您的实例

 gcloud compute instances add-metadata yourvmname \ --metadata-from-file startup-script=yourshellscript.sh 

这应该在docker启动之前运行该脚本,并在您拉取图像时login。

如果这不起作用,有一种方法可以从您的云存储桶(称为docker-registry-driver-gcs)中加载docker映像。 你可以在这里看到这个例子。