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

时间:2014-11-10 19:43:38

标签: docker google-compute-engine

我使用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

1 个答案:

答案 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