Ora*_*bîg 3 docker docker-registry
我有一个服务器(让我们命名为A)可以访问互联网,我可以从officiel docker.io注册表中提取图像.
我还有其他服务器(B,C)出于安全原因不能进行相同的访问,但是可以访问A.
我还决定在A上安装一个私有注册表,可以在B和C中使用.
是否有可能让这个注册表充当代理,当我想从B中提取官方图像时,它可以通过A完成?
您需要使用代理配置运行docker注册表.
获得一个初始config.yml:
docker run -it --rm --entrypoint cat registry:2 /etc/docker/registry/config.yml > `pwd`/config.yml
Run Code Online (Sandbox Code Playgroud)
添加以下内容config.yml:
proxy:
remoteurl: https://registry-1.docker.io
Run Code Online (Sandbox Code Playgroud)
然后启动docker注册表config.yml:
docker run -d --restart=always -p 5000:5000 --name docker-registry-proxy -v `pwd`/config.yml:/etc/docker/registry/config.yml registry:2
Run Code Online (Sandbox Code Playgroud)
如果你使用Docker for Mac(不是Docker工具箱或boot2docker),只需添加http://<proxy-ip>:5000到高级选项卡下的镜像部分:

重启Docker for Mac.
否则,您需要--registry-mirror=http://<proxy_ip>:5000通过在客户端或Docker Toolbox VM上执行以下操作来运行docker守护程序:
docker --registry-mirror=https://<my-docker-mirror-host> daemon
Run Code Online (Sandbox Code Playgroud)
尝试拉出你还没有的图像:
docker pull nginx
Run Code Online (Sandbox Code Playgroud)
然后验证代理目录是否具有新映像:
curl https://<proxy_ip>:5000/v2/_catalog
Run Code Online (Sandbox Code Playgroud)
它应该返回一些东西,包括刚刚拉出的图像.
"repositories":["library/nginx"]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5665 次 |
| 最近记录: |