zoukankan      html  css  js  c++  java
  • Docker Registry使用记录

    一、介绍

      有时我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要Docker Registry,它可以用来存储和管理自己的镜像,即私有镜像库。

    二、使用

      2.1 获取最新镜像,前提安装好docker。使用命令

    docker pull registry

      2.2 运行镜像

    docker run -d -p 5000:5000 --restart=always registry

      2.3 查看结果

    curl http://{ip}:5000/v2/_catalog

    返回json结果时,说明已经registry已经运行起来了。

    三、问题记录

    3.1 上传报错

    //上传过程
    
    docker tag nginx 192.168.0.24:5000/nginx 
    
    docker push 192.168.0.24:500/nginx
    
    //先打好标签,然后上传

    报错

    Get https://192.168.0.24:5000/v1/_ping: http: server gave HTTP response to HTTPS client

    解决方案

    //在/etc/docker下,创建daemon.json文件,写入:
    
    { "insecure-registries":["192.168.0.24:5000"]}  

    //重启docker

    service docker restart

    四、权限添加

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

    1. mkdir /opt/registry-var/auth/  
    2. docker run --entrypoint htpasswd registry:2.4.1 -Bbn felix felix  >> /opt/registry-var/auth/htpasswd  

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

    1. docker run -d -p 5000:5000 --restart=always   
    2.   -v /opt/registry-var/auth/:/auth/   
    3.   -e "REGISTRY_AUTH=htpasswd"   
    4.   -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"   
    5.   -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd   
    6.   -v /opt/registry-var/:/var/lib/registry/   
    7.   registry:2.4.1  

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

    1. docker login 192.168.0.100:5000  

    根据提示,输入用户名和密码即可。如果登录成功,会在/root/.docker/config.json文件中保存账户信息,这样就可以继续使用了。

  • 相关阅读:
    unity assert server 与 cache server
    Excel文件读写
    String与StringBuilder之间区别(转)
    c# 文件遍历
    C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别
    2014年读过的书总结
    求职在年末
    被辞退于年末
    Unity Svn(转)
    公司的人员流动
  • 原文地址:https://www.cnblogs.com/yanyouqiang/p/8176977.html
Copyright © 2011-2022 走看看