云计算核心技术Docker教程:注册服务器基本身份验证

实现访问限制的最简单方法是通过基本身份验证(这与其他 Web 服务器的基本身份验证机制非常相似)。此示例使用本机基本身份验证ht云计passwd来存储机密。

1.为用户创建一个密码文件,其中包含一个条目testuser,密码 为testpassword:

$ mkdir算核 auth

$ docker run \

--entrypoint htpasswd \

httpd:2 -Bbn testuser testpas心技sword > auth/htpasswd

在 Windows 上,确保输出文件正确编码:

docker run --rm --entrypo术Dint htpasswd httpd:2 -Bbn testuser testpassword | Set-Content -Encodinocg ASCII auth/htpasswd

2.停止注册表。

$ docker container stop registry

3.使用基本身ke份验证启动注册表。

$ docker run -d \

-p 5000:5000 \

--restart=always \

--name registry \

-r教v "$(pwd)"/auth:/auth \

-e "REGISTRY_AUTH=htpasswd" \

-e "REGISTRY_AUT程:H_HTPASSWD_REALM=Registry Realm" \

-e REGISTRY_AUTH_HTPASSWD_PATH=/aut注册h/htpasswd \

-v "$(pwd)"/certs:/certs \

-e REGISTRY_HTTP_TLS_CERTIFIC服务ATE=/certs/domain.crt \

-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key器基 \

registry:2

4.尝试从注册表中提取图像,或将图像推送到注册表。这些命令失败。

5.登录到注册表。

$ docker login my本身registrydomain.com:5000

提供第一步中的用户名和密码。

测试您现在可以从注册表中提取图像或将图像推送到注册表份验。

X509 错误:X509 错误通常表明您正在尝试使用自签名证书而未正确配置 Docker 守护程序。