docker私有仓库搭建

  • 安装Docker Registry,它可以用来存储和管理自己的镜像

      docker pull registry:2.4.1
  • 运行Registry容器

      docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry

    -d 是后台启动容器。

    -p 将容器的 5000 端口映射到 Host 的 5000 端口。5000 是 registry 服务端口。

    -v 将容器 /var/lib/registry目录映射到宿主机的/myregistry,用于存放镜像数据。

    在pull或者push镜像时报拒绝连接的错误

    由于docker1.3版本后pull ,push等操作都是采用https请求,为了不考虑创建证书,所以我们可以添加一个不安全的http连接

    创建或者修改/etc/docker/daemon.json 文件,并在其中写入

      {
         "insecure-registries": ["192.168.102.2:5000"]
      }

    其中为安装了Registry的机器ip地址。需要注意的是在安装registry的节点和客户端需要访问私有Registry的节点都需要执行此步操作。

    修改文之后执行以下命令重启节点docker。

      systemctl daemon-reload
      systemctl restart docker

    通过 docker tag重命名镜像,使之与registry匹配


    docker pull hello-world
    docker tag hello-world 192.168.105.2:5000/hello-world
    docker push 192.168.105.2:5000/hello-world
    此时hello-world就被push到了本地的镜像仓库,方便其他节点pull

    其他节点下载镜像


    docker pull hello-world 192.168.105.2:5000

    其他节点上传镜像


    docker push 192.168.105.2:5000/hello-world
  • 配置带用户权限的docker registry v2

    到上面为止,registry已经可以使用了。如果想要控制registry的使用权限,使其只有在登录用户名和密码之后才能使用的话,还需要做额外的配置。registry的用户名密码文件可以通过htpasswd来生成:

      mkdir /opt/registry-var/auth/  
      docker run --entrypoint htpasswd registry:2.4.1 -Bbn yoho 111111  >> /opt/registry-var/auth/htpasswd  

    上面这条命令是为yoho用户名生成密码为111111的一条用户信息,存在/opt/registry-var/auth/htpasswd文件里面,文件中存的密码是被加密过的。使用带用户权限的registry时候,容器的启动命令就跟上面不一样了,将之前的容器停掉并删除

      docker container stop registry-center(容器name,可以通过docker ps查看)
      docker container rm -v registry-center

    创建带用户认证的registry


    docker run -d -p 5000:5000 --restart=always --name registry-center -v /myregistry:/var/lib/registry -v /opt/registry-var/auth:/auth/ -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry

    这时,如果直接想查看仓库信息、pull或push都会出现权限报错。必须先使用docker login 命令来登录私有仓库:

      docker login 192.168.105.2:5000

转载于:https://www.cnblogs.com/MessChenly/p/9040129.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值