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

Windows环境下Docker HRM部署异常:域名无响应IP访问正常

Troubleshooting Docker HRM Domain Access Issues on Windows

Hey there! Let's break down why you're hitting this problem with Docker HTTP Routing Mesh (HRM) on Windows. When you can reach your WordPress instance via the manager node IP (http://10.54.52.79:8000) but not the custom domain wordpress.example.com, it almost always traces back to one of these key areas:

1. DNS Resolution Failure

Your Windows machine doesn't know where to send requests for wordpress.example.com—it needs to map that domain to your HRM manager node's IP.

How to check:

Open Command Prompt and run:

nslookup wordpress.example.com

If the returned IP isn't 10.54.52.79, DNS is the issue.

Fixes:

  • Quick test: Edit your Windows hosts file (C:\Windows\System32\drivers\etc\hosts) with admin privileges, add this line:
    10.54.52.79 wordpress.example.com
    
    Then flush DNS to apply changes:
    ipconfig /flushdns
    
  • Long-term solution: If you're in an internal network, add an A record to your local DNS server pointing wordpress.example.com to 10.54.52.79.

2. Missing HRM Routing Rules

HRM needs explicit configuration to forward traffic from wordpress.example.com to your WordPress service. Without this rule, HRM has no idea where to send the domain's requests.

How to check:

First, confirm HRM services are running:

docker service ls

Look for hrm-proxy and hrm-manager in the output. Then list existing HRM routes:

docker hrm route ls

If wordpress.example.com isn't listed here, the route is missing.

Fix:

Create the route mapping your domain to your WordPress service:

docker hrm route create wordpress.example.com --service <your-wordpress-service-name>

Make sure your WordPress service is attached to HRM's dedicated network (more on that below).

3. Incorrect Port Usage for Domain Requests

When you use the IP address with :8000, you're targeting the exact port HRM listens on. But when you use wordpress.example.com, your browser defaults to port 80. If HRM isn't configured to listen on port 80, this request will fail.

How to check:

Inspect the HRM proxy service's port mappings:

docker service inspect hrm-proxy | findstr "Ports"

You'll likely see something like 8000:80/tcp, meaning HRM is exposing port 8000 externally for internal port 80.

Fixes:

  • Option 1: Access the domain with the correct port: http://wordpress.example.com:8000
  • Option 2: Reconfigure HRM to listen on port 80 (requires admin privileges on Windows): Update the HRM proxy service to map port 80 instead of 8000, then restart the service.

4. HRM Network Isolation

HRM uses a dedicated network to route traffic between services. If your WordPress service isn't connected to this network, HRM can't forward requests to it—even though you can reach the service directly via the node IP.

How to check:

First, list Docker networks to find HRM's network (usually named hrm-network):

docker network ls

Then check if your WordPress service is connected to it:

docker service inspect <your-wordpress-service-name> | findstr "Networks"

Fix:

Connect your WordPress service to the HRM network:

docker service update --network-add <hrm-network-name> <your-wordpress-service-name>

Start with the DNS check first—it's the most common culprit for domain-based access issues. Work through each step one by one, and you should get wordpress.example.com working in no time!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:12:05