1 min read

如何搭建一个私有的 Docker Registry

如何搭建一个私有的 Docker Registry
Photo by Ian Taylor / Unsplash

概念

Docker Registry 是一个无状态,可扩展存储并且发布 Docker 镜像的应用服务

创建一个 Docker Registry


mkdir -p /mnt/registry

docker run -d \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /mnt/registry:/var/lib/registry \
  registry:2

私有 Docker Registry 使用 http

假如,只是在局域网上搭建 docker registry 服务, 可以不使用 https。
但是,docker registry 是跑在公网上建议使用 https 。

cat > /etc/docker/daemon.json
{
  "insecure-registries":["172.16.1.22:5000"]  # 这里 IP Address 换成自己的 register server 的 ip
}

sudo systemctl restart docker 

注:

需要在每个节点上添加配置,并且重启 docker 服务器。 包括 registry server,不然无法 push 镜像

测试 docker registry server

  • 在 docker registry 服务器上
docker pull nginx:alpine 
docker tag nginx:apline 172.16.1.22:5000/nginx:alpine
docker push 172.16.1.22:5000/nginx:alpine
  • 使用 kubectrlDocker Register 镜像并且部署
kubectl create  deployment nginx-server --image=172.16.1.22:5000/nginx:alpine