实现访问限制的最简单方法是通过基本身份验证(这与其他 Web 服务器的基本身份验证机制非常相似)。此示例使用本机基本身份验证ht云计passwd来存储机密。
1.为用户创建一个密码文件,其中包含一个条目testuser,密码 为testpassword:
$ mkd算核ir auth
$ docker run \
--entrypoint htpasswd \
httpd:2 -Bbn testuser testpa心技ssword > auth/htpasswd
在 Windows 上,确保输出文件正确编码:
docker run --rm --entr术Dypoint htpasswd httpd:2 -Bbn testuser testpassword | Set-Content -Encoocding ASCII auth/htpasswd
2.停止注册表。
$ docker container stop registry
3.使用基本身ke份验证启动注册表。
$ docker run -d \
-p 5000:5000 \
--restart=always \
--name registryr教 \
-v "$(pwd)"/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_程:HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/h注册tpasswd \
-v "$(pwd)"/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/c服务erts/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
regist器基ry:2
4.尝试从注册表中提取图像,或将图像推送到注册表。这些命令失败。
5.登录到注册表。
$ docker login myregistr本身ydomain.com:5000
提供第一步中的用户名和密码。
测试您现在可以从注册表中提取图像或将图像推送到注册表。
X509 错误:X5份验09 错误通常表明您正在尝试使用自签名证书而未正确配置 Docker 守护程序。