我有两个没有“ping”命令的极简 Docker 容器。如何检查它们之间是否有连通性?
答案1
您可以在 docker 主机上使用“docker container inspect”和“ping”来验证容器是否具有您期望的寻址和连接。验证您是否可以从主机 ping docker 容器。
您可以在容器之间的路径上使用 wireshark 或 tcpdump 等网络工具来检查流量。例如,您可以在 docker 主机上运行,在容器所在的网桥上运行 tcpdump。
您还可以在有问题的容器所在的同一 docker 网桥上运行具有网络工具(例如 ping)的容器,以便重现和解决问题。示例:运行连接到与 filebeat 容器相同的 docker 网络的 ubuntu 或 alpine 容器。使用 ping 和 curl 测试与目标(elasticsearch?)的网络连接。
最后,您可以安装或复制 ping 二进制文件到正在运行的容器中。下载 busybox 并将二进制文件“docker cp”到容器中。然后“docker exec”在容器中运行它。