由于众所周知的原因
,Docker Hub 在中国大陆被禁止了。
本文搭建了一个公共 Docker Hub 镜像源。如果实在懒得自建的话,文末我会附上自己的镜像源供公开使用,但请不要滥用。
安装 Nexus
找一个目录,把 docker-compose.yml
丢进去。
下文使用 /opt/nexus
代替本目录。
mkdir -p /opt/nexus
mkdir -p /opt/nexus/nexus-data
vim /opt/nexus/docker-compose.yml
version: "3.8"
services:
nexus:
image: sonatype/nexus3
container_name: nexus
restart: always
environment:
INSTALL4J_ADD_VM_PARAMS: -Xms4G -Xmx8G -XX:MaxDirectMemorySize=4G #视实际情况调整
ports:
- 8081:8081
- 8082:8082
volumes:
- /opt/nexus/nexus-data:/nexus-data
docker compose up -d
等待几分钟后,获取初始密码。
docker exec nexus cat /nexus-data/admin.password
为 Docker Hub 添加 Docker Proxy Repository
登录进去后,默认要求你修改密码。
完成后来到 Administration-Repository-Repositories
页面。
创建代理仓库
新建一个仓库,选择 docker (proxy)
。
在 Name 这里填入当前仓库的命名,例如 docker-proxy-dockerhub
在 Proxy - Remote storage
这里,配置 Docker Hu
b 代理时填入 https://registry-1.docker.io
,配置 K8s
仓库时填入 https://k8s.gcr.io
,配置 quay.io
仓库时填入 https://quay.io
。
在 Proxy - Docker Index
这里,配置 Docker Hub
代理时选择 Use Docker Hub
,配置其他仓库代理时选择 Use proxy registry(specified above)
。
去掉 Proxy - Auto blocking enabled
这里的对勾。
去掉 Negative Cache - Not found cache enabled
这里的对勾。
可选只创建第一个重复操作,创建完成 3 个仓库:docker-proxy-dockerhub
、docker-proxy-k8sgcr
、docker-proxy-quayio
。
创建聚合仓库
在 [Repository] - [Repositories]
中创建新仓库,类型为 docker (group)
。
在 Name
这里填入当前仓库的命名,例如 docker-proxy-group
在 Repository Connectors
这里,勾选 HTTP
并填入一个未被占用的端口,必须与创建容器时映射的端口号一致。这里我使用 8002。
在 Group - Member repositorles
这里,将需要整合的仓库添加到右边,并按先后顺序排好。
配置 Docker 认证
在 Security - Realms
选项中,将 Docker Bearer Token Realm
添加到右边,保存即可。
配置 HTTPS
略,有些时候饭不能喂到嘴里,否则就没味道了。
我的公开镜像
镜像源:https://hub.20220303.xyz/
。禁止滥用!禁止滥用!禁止滥用!
1 条评论
感谢分享,谢谢站长!!@天天下载