GitHub: https://github.com/mangege/docker_local_registry
# 克隆代码
git clone https://github.com/mangege/docker_local_registry.git
# 切换目录
cd docker_local_registry
# 运行 Registry,可以把参数改成你自己的.
docker run -d -p 5000:5000 --restart=always --name registry \
-v `pwd`/registry-certs:/registry-certs \
-v `pwd`/registry:/var/lib/registry \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/registry-certs/fullchain.pem \
-e REGISTRY_HTTP_TLS_KEY=/registry-certs/privkey.pem \
registry:2
# 添加 10.10.10.10 IP 到本机现在使用的网卡,记得把 enp3s0 改成你的网卡标识. 重启后,每次都需要运行这个添加 IP 的命令.
ip addr add 10.10.10.10/24 dev enp3s0
# 测试是否能访问, 返回 {} 表示成功
curl https://docker-registry.mangege.com:5000/v2/
# 使用此 registry, 参考 https://github.com/docker/docker.github.io/blob/master/registry/deploying.md
docker pull ubuntu && docker tag ubuntu docker-registry.mangege.com:5000/ubuntu
docker push docker-registry.mangege.com:5000/ubuntu
docker pull docker-registry.mangege.com:5000/ubuntu
方便在本机用虚拟机测试 Docker 集群,比如 Docker Swarm 和 Kubernetes.
虽然可以通过改 DOCKER_OPTS 的加上 --insecure-registry 参数来实现使用 http registry,但觉得每台机器都要改,太麻烦了.