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

RHEL8.4环境下使用主机名访问本地Docker镜像仓库失败问题排查

RHEL 8.4 环境下Docker本地镜像仓库使用主机名访问失败解决方案

环境信息

  • 操作系统版本:RHEL 8.4
  • Docker版本:20.10.6

问题描述

通过如下命令部署了本地容器镜像仓库:

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

为适配非安全镜像仓库访问规则,已在/etc/docker/daemon.json中添加如下配置:

{
  "insecure-registries" : [ "localhost:5000", "test123:5000" ]
}

本地主机名设置为test123,但使用主机名连接或推送镜像均失败。测试发现使用localhost访问正常:

# curl http://localhost:5000/v2/_catalog
{"repositories":["testcontainerimage"]}

使用主机名执行相同请求则超时:

# curl http://test123:5000/v2/_catalog

解决方案

该问题由防火墙框架适配问题导致:RHEL 8默认将防火墙框架从iptables替换为nftables,Docker默认自动操作iptables规则的逻辑与nftables不兼容,导致主机名对应的本地地址请求无法正常转发到容器端口。
修复操作步骤如下:

  1. 编辑/etc/docker/daemon.json,添加"iptables": false配置项,修改后完整配置参考:
{
  "insecure-registries" : [ "localhost:5000", "test123:5000" ],
  "iptables": false
}
  1. 执行命令重启Docker服务使配置生效:
    systemctl restart docker
  2. 若registry容器未自动恢复,可手动重启容器:
    docker restart registry
    配置完成后再次执行curl http://test123:5000/v2/_catalog,正常返回仓库列表即表示修复完成。

内容的提问来源于stack exchange,提问作者Keyur Barapatre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 06:06:01