一、简介
因为众所周知的原因hub.docker.com没法在国内拉取镜像,通过配置国内几大镜像仓库也很慢,所以这几天研究了harbor和nexus作为代理镜像库使用,在研究过后发现harbor和nexus都可以作为镜像仓库,但是harbor作为镜像库需要修改tag,nexus则可以直接代理而且速度很棒
二、实践
1.启动nexus docker+docker-compose 此处8081为nexus地址 7719为预留docker仓库端口 不多赘述
version: "3.3"
services:
nexus3:
image: 'sonatype/nexus3:3.56.0'
container_name: "nexus3"
restart: always
privileged: true
environment:
- "-Djava.util.prefs.userRoot=/nexus-data/javaprefs"
- TZ=Asia/Shanghai
ports:
- '8081:8081'
- "6000:6000"
- "6001:6001"
- "7719:7719"
volumes:
- $PWD/data:/nexus-data
docker-compose up -d
2.访问nexus网页ip:8081
3.创建代理缓存用到的存储空间
名字随意但是后面要用
创建完成是这样
4.创建Repositories
点击Create repository
点击docker(proxy)
按图示勾选
选择刚才创建的存储空间
最后点击最下方的创建
创建后的样子
5.倒数第二步对docker-proxy-njedu进行分组让我们的客户端可以访问到代理
勾选图示 并输入端口7719 这个7719在上面有提到
最后把docker-proxy-njedu分配到Members最后保存
6.最后一步修改客户端的配置文件
一般在这个位置/etc/docker/daemon.json
ip端口就不用我说了吧
重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
然后就可以开心的pull啦,当然第一次还是慢的,第二次就很快了