dzi*_*iou 12 networking docker
我试图从运行在MacOS上的docker容器到达host-x.com,但它失败了:
$ docker run ubuntu:latest \
/bin/bash -c \
'apt-get update &&
apt-get -y install netcat &&
nc -v -z -w 3 host-x.com 443 &> /dev/null && echo "Online" || echo "Offline"'
Offline
Run Code Online (Sandbox Code Playgroud)
它的工作原理罚款时:
我在另一台机器上运行一个docker容器:
Online
Run Code Online (Sandbox Code Playgroud)我在我的Mac上运行它,在docker容器之外:
nc -v -z -w 3 host-x.com 443 &> /dev/null && echo "Online" || echo "Offline"'
Online
Run Code Online (Sandbox Code Playgroud)我在我的Mac上从docker容器运行它,用于其他目标主机:
$ docker run ubuntu:latest \
/bin/bash -c \
'apt-get update &&
apt-get -y install netcat &&
nc -v -z -w 3 www.google.com 443 &> /dev/null && echo "Online" || echo "Offline"'
Online
Run Code Online (Sandbox Code Playgroud)更新#1
建议我登录到容器并检查DNS.主机名已正确解析:
root@55add56ecc11:/# ping host-x.com
PING s1-host-x.com (172.22.187.101) 56(84) bytes of data.
Run Code Online (Sandbox Code Playgroud)但是,不会传递ping包.我虽然这可能是由内部docker网络和企业网络(172.17.XX)中的IP范围冲突引起的.我尝试在我的守护程序配置中修复docker bridge IP地址并重新检查连接但它没有帮助:
"bip" : "10.10.10.1/8"
Run Code Online (Sandbox Code Playgroud)我和我公司的其他3人一起检查过(包括我在内共有4人).50%可以访问此主机(在线),50%没有(离线).
我尝试了@mko建议的内容,在容器内部以交互模式使用netcat.还是超时.
root@37c61acc5aa5:/# nc -v -z -w 3 host-x.com 443
s1-host-x.com [172.22.187.101] 443 (?) : Connection timed out
Run Code Online (Sandbox Code Playgroud)我试着追踪这条路线但没有成功:
traceroute -m 10 -w 1 host-x.com
traceroute to host-x.com (172.22.187.101), 10 hops max, 60 byte packets
1 10.10.10.1 (10.10.10.1) 0.444 ms 0.388 ms 0.364 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
Run Code Online (Sandbox Code Playgroud)我怎么调查呢?
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |