如何搭建一个私有的 Docker Registry
概念
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
- 使用
kubectrl
拉Docker Register
镜像并且部署
kubectl create deployment nginx-server --image=172.16.1.22:5000/nginx:alpine