docker 私有仓库的搭建与使用

registry 私有仓库

私有仓库一般是为了公司内部用 方便部门共同访问和下载统一镜像和管理共同开发。或者在公司外网关闭的情况下共享开发镜像。同时下载速度比从网络下载快速

私有仓库搭建种类

1. 使用docker pull registry 镜像搭建
2. linux等下载docker-registry <实际下载安装的是 docker-distribution>

种类一 docker pull registry 使用

  1. 下载
docker pull registry

  1. 运行
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

3.测试镜像仓库中所有的镜像

curl http://127.0.0.1:5000/v2/_catalog  // 目前为空 {"repositories":[]}

  1. 修改daemon.json
MAC系统
    vi ~/.docker/daemon.json
    输入:
        {
          "registry-mirrors" : [
            "http://f1361db2.m.daocloud.io",
            "https://qo2mkc4h.mirror.aliyuncs.com"
          ],
          "insecure-registries" : [
            "127.0.0.1:5000",
            "192.168.199.108:5000"
          ],
          "experimental" : true,
          "debug" : true
        }
    然后重启docker
linux 系统
    vi /etc/docker/deamon.json
    输入:{
          "registry-mirrors" : [
            "http://f1361db2.m.daocloud.io",
            "https://qo2mkc4h.mirror.aliyuncs.com"
          ],
          "insecure-registries" : [
            "127.0.0.1:5000",
            "192.168.199.108:5000"
          ]
          }
    systemctl restart docker // 然后重启docker

  1. 服务端 清空防火墙设置或者开放5000端口
iptables -F //清空防火墙
firewall-cmd --add-port=5000/tcp --permanent && firewall-cmd --reload //放开5000端口监控

  1. 修改客户端镜象tag
例如    docker tag busybox:latest 192.169.199.108:5000/busybox:latest

注意 一定要和服务器仓库ip一致 不然无法识别和上传 至于5000端口 应为registry默认5000端口

  1. 上传
docker push 192.169.199.108:5000/busybox:latest

种类一 docker-registry 使用

  1. 下载
yum -y install docker-registry

  1. 修改客户端daemon.json
vi /etc/docker/daemon.json
然后输入

    {
      "registry-mirrors": ["http://f1361db2.m.daocloud.io","https://qo2mkc4h.mirror.aliyuncs.com"], # 这是配置镜像仓库 我配置的是hub.daocloud.io
      "insecure-registries":["192.168.199.108:5000"]  # 这个是对私有仓库服务端https过滤拦截注销 允许http访问
    }

重启 配置与docker
    systemctl daemon-reload
    systemctl restart docker

  1. 清空防火墙设置或者开放5000端口
iptables -F //清空防火墙
firewall-cmd --add-port=5000/tcp --permanent && firewall-cmd --reload //放开5000端口监控

  1. ss -ntl 查看端口是否已经被开放

  2. 修改客户端镜象tag

例如    docker tag busybox:latest 192.169.199.108:5000/busybox:latest

注意 一定要和服务器仓库ip一致 不然无法识别和上传 至于5000端口 应为registry默认5000端口

  1. 上传
docker push 192.169.199.108:5000/busybox:latest

  1. 查看私有仓库存储位置
cd /var/lib/registry/docker/registry/v2

  1. 剩下其他命令都和普通的docker命令一样了

你可能感兴趣的:(docker 私有仓库的搭建与使用)