我在 GCE(使用 Docker 17.03.2)上运行一个容器优化的 OS VM,并想docker-compose
用来管理容器。docker-compose
未安装在 COS 上,但可以使用图像docker/compose从容器中运行,如本教程中所述:
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$PWD:/rootfs/$PWD" \
-w="/rootfs/$PWD" \
docker/compose:1.14.0 up
我要访问的图像位于私有的 Google Container Registry 中,这需要docker login
拉取访问权限。如何运行 docker/compose 镜像来访问私有注册表?
COS VM 已经被授权访问注册表,并且我在 VM 上有一个服务帐户 JSON 文件,但是可以在运行up
命令之前将其传递给 compose 映像以登录吗?
我发现的最佳解决方案是在 Docker 主机上进行身份验证,然后将 docker 配置挂载到docker-compose
容器中:
docker login -u _json_key -p "$(cat keyfile.json)" https://gcr.io
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/.docker:/root/.docker \
-v "$PWD:$PWD" \
-w="$PWD" \
docker/compose:1.14.0 \
up
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句