我在GCE (带有Docker17.03.2)上运行Container-Optimized OS虚拟机,并希望使用docker-compose
来管理容器。docker-compose
没有安装在对象存储上,但可以使用镜像docker/compose从容器中运行,如this tutorial中所述
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虚拟机已经被授权访问注册表,我在虚拟机上有一个服务帐号JSON文件,但是在运行up
命令之前,是否可以将该文件传递给compose镜像进行登录?
发布于 2017-07-20 06:29:43
我找到的最好的解决方案是在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
发布于 2017-07-15 05:05:44
使用来自GCR's advanced authentication docs的_json_key验证,下面的脚本可以工作吗?
docker run \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$PWD:/rootfs/$PWD" \ -w="/rootfs/$PWD" \ docker/compose:1.14.0 \ /bin/bash -c "docker login -u _json_key -p $(cat keyfile.json) https://gcr.io; up"
发布于 2017-07-15 05:06:13
您希望使用this方法进行身份验证。
https://stackoverflow.com/questions/45111382
复制相似问题