使用HTTPS协议
获取密钥对和密钥
获取证书有两种途径:
自签名证书,如果开发者只是想测试HTTPS,最快速的途径就是生成自签名证书,非常方便。
使用CA机构签发的证书,如果对证书安全性、兼容性、功能有特殊需求,可以向CA机构申请证书。
启动registry
假设已经通过上述途径获取到了密钥对domain.key和证书domain.crt,这两个文件放在了目录certs下,此时可以使用以下方式之一进行配置。
方式一:docker run
$ docker run -d \
--restart=always \
--name registry \
-v "$(pwd)"/certs:/certs \
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
-p 443:443 \
registry:2方式二:docker compose
首先创建Dockerfile文件,文件内容如下:
创建compose.yaml文件,内容如下:
关闭安全性检查(可选)
在使用自签名证书的情况下,也需要关闭安全性检查。
注意:因为https协议的默认端口是443,所以在配置时可以省略端口号。
测试
首先,增加本机DNS映射(必须使用root):
向registry提交镜像:
从registry拉取镜像:
Last updated
Was this helpful?