本文是以Nexus 3.18.1为例介绍如何配置docker代理(proxy)仓库。
Nexus端配置
1、首先,在nexus上创建一个proxy类型的docker 仓库。
2、入下图,在“Remote storage”填入https://registry-1.docker.io ,“Docker Index”选择 Use Docker Hub,其他项保持默认。
3、点击页面底部的“Create repository”菜单创建这个repository。
4、创建一个docker仓库组,将上一步我们创建的docker proxy加入到组里。
请注意3个红框处,需要注意的是HTTP这里,如果你是用容器方式启动的nexus,那么你需要额外映射一个端口出来(在启动nexus容器的时候),比如我的启动nexus容器的命令如下,使用-p命令将容器里的端口映射出来。
docker run -d -p 172.23.2.200:8095:8081 -p 8097:8097 -p 28443:28443 --privileged=true -v /mirror-folder-nexus318/nexus318/data:/nexus-data --name nexus318 sonatype/nexus3:latest
5、把刚才创建的docker-proxy(忽略图中的docker-test,只是一个示例)加入到组里来,点击save即可。
至此,nexus端配置完成,下面我们对客户端(拉取镜像端)进行配置。
客户端配置
这里我们的客户端是CentOS 7,具体配置步骤如下:
1、首先在centos7上安装了docker环境,即能够在命令行里正常的敲docker命令并有回显。
2、在客户端机器上配置vim /etc/docker/daemon.json文件,如果系统上没有该文件则创建之,该文件内容如下:
{
"registry-mirrors":["http://172.23.2.200:28443"],
"insecure-registries":["172.23.2.200:28443"]
}
其中,斜体加粗的IP为nexus代理的地址,28443位你在docker仓库组中设置的HTTP端口。
3、重启客户端上的docker服务,如下:
systemctl daemon-reload
systemctl restart docker
4、之后,就可以通过如下命令拉取(pull)docker镜像了。
命令格式为 : docker pull postgres:latest ,postgres:latest为镜像名和tag.
所有配置完。