我能够使用$docker container run -itd --publish 5000:5000 registry
运行存储库但是,当我将图像拉到或推送到该存储库时,我不会被要求输入用户名和密码。
如果我们想要使用该存储库中的图像,如何设置我们自己的docker私有注册表的用户名和密码以及如何在Dockerfile和docker-compose中使用它们?
答案 0 :(得分:1)
如何为我们自己的docker私有注册表设置用户名和密码?
在DTR中有几种方法可以实现基本身份验证。最简单的方法是将DTR置于Web代理之后,并使用Web代理提供的基本身份验证机制。
直接在DTR中启用基本身份验证?这就是。
mkdir auth && docker run --entrypoint htpasswd registry:2 -Bbn your-username your-password > auth/htpasswd
。docker container stop registry
。注意:您必须先配置TLS才能进行身份验证。
docker run -d \
-p 5000:5000 \
--restart=always \
--name registry \
-v `pwd`/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-v `pwd`/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2
当我们想要使用该存储库中的图像时如何使用它们?
在提取图像之前,首先需要登录DTR:
docker login your-domain.com:5000
并从第一步填写用户名和密码。