You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置自签名证书的Docker私有仓库仅支持HTTPS无法通过HTTP访问如何解决

Docker私有仓库HTTP访问配置方案

你启动Registry容器时配置了REGISTRY_HTTP_TLS_CERTIFICATE和REGISTRY_HTTP_TLS_KEY两个TLS相关环境变量,Registry服务会强制启用TLS加密,仅接收HTTPS请求。你使用HTTP访问时,服务端期待TLS握手报文,收到的是HTTP明文请求,因此会抛出日志中的TLS握手错误。

可根据需求选择以下方案实现HTTP访问:

方案1:完全关闭HTTPS,仅启用HTTP

直接移除启动命令中TLS相关的环境变量和证书挂载配置即可,修改后的启动命令如下:

docker run -d -p 5000:5000 --restart=always --name registry registry

如果需要持久化镜像存储,可以自行添加存储卷挂载参数。

方案2:同时支持HTTP和HTTPS

Registry本身不支持同一端口同时提供HTTP和HTTPS服务,可以通过反向代理实现双协议支持:

  • 保留原有Registry的TLS配置,端口5000提供HTTPS服务
  • 部署Nginx反向代理,监听新端口(如5001)提供HTTP服务,转发请求到Registry的5000端口

Nginx配置示例:

server {
    listen 5001;
    location / {
        proxy_pass https://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_ssl_verify off;
    }
}

Docker客户端额外配置

如果使用Docker客户端访问HTTP协议的私有仓库,需要将该仓库添加到Docker daemon的不安全仓库列表:

  1. 编辑/etc/docker/daemon.json,添加配置:
{
  "insecure-registries": ["192.168.13.10:5000"]
}
  1. 重启Docker服务生效:
systemctl daemon-reload
systemctl restart docker

内容的提问来源于stack exchange,提问作者İsmet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:27:03