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

如何查看指定Docker网络中的所有容器及其主机名?

列出Docker自定义网络中的容器及主机名

当然可以列出指定Docker网络内的所有可见容器及其主机名,以下是几种实用方法,适配你的调试需求:

方法1:用docker ps快速过滤(推荐)

直接过滤出连接到master-network的容器,仅输出主机名(对应你docker-compose里的服务名):

docker ps --filter network=master-network --format "{{.Hostname}}"

输出示例:

service-1
service-2

如果需要同时查看容器名和主机名,可调整格式:

docker ps --filter network=master-network --format "{{.Names}} | {{.Hostname}}"

方法2:通过docker network inspect解析网络详情

如果需要更完整的网络关联信息,先查看网络的JSON详情,再用工具提取关键内容:

用jq(需提前安装)格式化输出:

docker network inspect master-network | jq -r '.[0].Containers[] | .Config.Hostname'

无jq时用grep+awk提取:

docker network inspect master-network | grep -o '"Hostname": "[^"]*"' | awk -F '"' '{print $4}'

调试Nginx反向代理的补充技巧

  1. 验证容器间DNS解析:在任意容器内ping目标主机名,比如:
    docker exec -it service-1 ping service-2
    
    若能正常解析并连通,说明网络和DNS配置正常;若失败,检查服务名拼写或网络连接状态。
  2. 查看Nginx容器的hosts文件或DNS配置,确认是否能正确解析网络内的主机名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:13:19