【docker®istry】关于docker login的镜像仓库登录凭证
当我使用docker 对私有存储库执行docker login时,docker 会记住对应 registry的登陆用户名,在$HOME/.docker/config.json文件中创建一个条目,方便下次登陆。Docker利用docker login命令来校验用户镜像仓库的登录凭证,实际并不是真正意义上的登录(Web Login),仅仅是一种登录凭证的试探校验,如果用户名密码正确,Docker则..
当我使用docker 对私有存储库执行docker login时,docker 会记住对应 registry的登陆用户名,在$HOME/.docker/config.json文件中创建一个条目,方便下次登陆。
Docker利用docker login命令来校验用户镜像仓库的登录凭证,实际并不是真正意义上的登录(Web Login),仅仅是一种登录凭证的试探校验,如果用户名密码正确,Docker则会把用户名、密码 以及仓库域名等信息进行base64编码保存在docker的配置文件中。
关于登录凭证覆盖问题
# docker login --help
# docker login 192.168.1.102:2019 -u admin -p admin123
# echo "admin123" | docker login 192.168.1.102:2019 -u admin --password-stdin
# cat /root/.docker/config.json
# docker login 192.168.1.102:2019 -u test -p Test@123
# echo "Test@123" | docker login 192.168.1.102:2019 -u test --password-stdin
# cat /root/.docker/config.json
# echo "YWRtaW46YWRtaW4xMjM=" | base64 --decode
# echo "dGVzdDpUZXN0QDEyMw==" | base64 --decode
从config.json数据结构可知,Docker针对每一个镜像仓库,只会保存最近一次有效的用户名密码,之后执行docker login 会直接使用config.json中对应域名的用户名密码进行登录。 当处理完毕之后,可以执行docker logout 将指定仓库的用户登录凭证从config.json中删除。
当你用不同的用户名密码,登录的是同一个仓库地址时,后面的登录凭证,会覆盖前面的登录凭证,显然有时会给我们应用造成一定困扰!
怎么才能不让其覆盖,同时保留对同一个仓库的几个不同用户名密码的登录凭证呢?
将登录凭证,保存在$HOME/.docker/config.json文件中,重启docker,然后不再重新登录,否则又会被覆盖重新生成!
# cat /root/.docker/config.json
################################################
{
"auths": {
"192.168.1.102:2019": {
"auth": "YWRtaW46YWRtaW4xMjM="
},
"192.168.1.102:2019": {
"auth": "dGVzdDpUZXN0QDEyMw=="
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.06.0-ce (linux)"
}
}
################################################
# systemctl restart docler
关于Docker Login登录凭证安全存储
docker login fails on a server with no X11 installed
https://stackoverflow.com/questions/51222996/docker-login-fails-on-a-server-with-no-x11-installed
docker - docker-credential-secretservice on CentOS
https://stackoverflow.com/questions/55309743/docker-docker-credential-secretservice-on-rhel
关于 docker login harbor
https://jiakui.app/2019/10/14/docker-login
How to generate a new auth in the config.json file
https://success.docker.com/article/generate-new-auth-in-config-json-file
Docker Login登录凭证安全存储
https://youendless.com/post/docker_login_pass
您的 DOCKER LOGIN 密碼加密沒?
https://blog.kkbruce.net/2019/01/docker-loing-password-unencrypted.html#.XgwKb3ZiqvY
Credentials store in docker client
https://dockerdevops.blogspot.com/2019/05/credentials-store.html
docker/docker-credential-helpers
https://github.com/docker/docker-credential-helpers/releases
更多推荐
所有评论(0)