我有一个目前正在运行的docker容器,但我无法从我的主机ping它。
PREMs-MacBook-Pro:test_pki_certs prem$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a814241b497c certs_installed/vnet "/bin/bash" 2 hours ago Up 2 hours 0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp vnet-work
PREMs-MacBook-Pro:test_pki_certs prem$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' vnet-work
172.17.0.2
PREMs-MacBook-Pro:test_pki_certs prem$ ping 172.17.0.2
PING 172.17.0.2 (172.17.0.2): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
答案 0 :(得分:0)
默认情况下,Docker容器在docker主机上创建的桥接网络上。使用适用于Mac的docker,该网络将位于VM内部,并且不会更新来自Mac的路由以转至VM。要连接到容器,请使用已发布的端口。这也适用于在Linux上运行的容器,您希望从其他主机访问它们,因为其他主机的路由表将不知道如何连接到该私有IP。