Docker容器技术咨询:宿主机IP查看及端口映射设置问题
Docker 容器相关问题解答
1. 能否在Docker容器内部查看宿主机的IP地址?
可以,有几种实用方法:
- 查看默认路由网关:在容器内执行命令,输出里
default via后的IP就是宿主机在Docker网桥下的地址:
典型输出示例:ip route showdefault via 172.17.0.1 dev eth0,其中172.17.0.1即为宿主机IP。 - 查看DNS配置文件:容器的
/etc/resolv.conf里nameserver对应的IP通常也是宿主机IP,执行命令查看:cat /etc/resolv.conf - Docker Desktop(Mac/Windows)环境:可直接使用特殊域名
host.docker.internal,通过ping命令解析到宿主机IP:ping host.docker.internal
2. 在端口映射配置中,是否可以将宿主机端口设置为与容器端口一致?
完全可以,前提是宿主机上该端口未被其他进程或容器占用。
比如你可以修改原启动命令为:
docker run -itd -p 801:801 --name centos7_01 centos:centos7 /bin/bash
这样宿主机的801端口就会直接映射到容器的801端口。
需要注意:
- 如果宿主机的801端口已被占用,Docker会启动失败并抛出端口冲突错误。
- 可提前用以下命令检查宿主机端口占用情况:
(若系统未安装ss -tulpn | grep 801ss,也可使用netstat -tulpn | grep 801)
内容的提问来源于stack exchange,提问作者Lina Gong
相关产品推荐
相关产品推荐

