自己搭建本地docker代理镜像仓库

1,118 阅读1分钟

一、简介

因为众所周知的原因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.创建代理缓存用到的存储空间

image.png 名字随意但是后面要用 image.png 创建完成是这样 image.png

4.创建Repositories

点击Create repository image.png 点击docker(proxy) image.png 按图示勾选

image.png

image.png 选择刚才创建的存储空间 image.png 最后点击最下方的创建

image.png 创建后的样子

image.png

5.倒数第二步对docker-proxy-njedu进行分组让我们的客户端可以访问到代理

image.png 勾选图示 并输入端口7719 这个7719在上面有提到 image.png 最后把docker-proxy-njedu分配到Members最后保存 image.png

6.最后一步修改客户端的配置文件

一般在这个位置/etc/docker/daemon.json ip端口就不用我说了吧 image.png 重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

然后就可以开心的pull啦,当然第一次还是慢的,第二次就很快了

三、成果

image.png

image.png