• docker registry使用用户名密码登录并解决docker login 400 Bad Request错误问题


    创建存储凭据的文件夹:

     mkdir -p /root/auth
    

    现在,我将在Docker容器的帮助下创建htpasswd文件。该htpasswd文件将包含我的凭据和加密的passwd。

     docker run --entrypoint htpasswd registry -Bbn myuser mypassword > auth/htpasswd
    

    核实:

    cat auth/htpasswd
    myuser:$2y$05$8IpPEG94/u.gX4Hn9zDU3.6vru2rHJSehPEZfD1yyxHu.ABc2QhSa
    

    凭据很好。现在,我必须将我的凭据添加到注册表中。在这里,我将在容器中安装auth目录:

       docker run  -d -p 5000:5000 --restart=unless-stopped --name registry-auth 
         -v  /root/auth:/auth 
         -v /data/registry:/var/lib/registry 
         -e "REGISTRY_AUTH=htpasswd" 
         -e  "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
         -e  REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd 
         registry
    

    测试:

    docker push localhost:5000/busybox
    The push refers to a repository [localhost:5000/busybox]
    8ac8bfaff55a: Image push failed
    unauthorized: authentication required
    

    认证:

    docker login localhost:5000
    Username (): myuser
    Password:
    Login Succeeded
    

     注意:因为服务器docker版本问题第一次docker login报错,Error response from daemon: login attempt to http://192.168.122.190:5000/v2/ failed with status: 400 Bad Request,升级了一下docker版本再docker login就成功了。

    重试推送:

    docker push localhost:5000/busybox
    The push refers to a repository [localhost:5000/busybox]
    8ac8bfaff55a: Pushed
    latest: digest: sha256:1359608115b94599e5641638bac5aef1ddfaa79bb96057ebf41ebc8d33acf8a7 size: 527
  • 相关阅读:
    linux下Github 同步与下载
    Add 'GB18030' to gedit in Linux
    JGibbLDA的输出文件
    Gibbs LDA java实现
    Polylingual LDA
    Hash_Map 原理
    Map sorted by Value
    使用loadrunnersocket压力测试
    一次压力测试
    linux不知道文件在哪,想查找文件内的字符串
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/13723958.html
Copyright © 2020-2023  润新知