概述
在docker容器内部可以ping通外网,使用ifconfig查询得到的ip却不能在物理机上ping通。
这个问题也会导致虚拟机内docker容器内的mysql等无法在物理机访问
现象
原因
docker容器是运行在docker虚拟机中的,宿主机上没有通往docker容器的路由。需要在宿主机上添加前往docker容器的路由。
查询容器IP
查询docker-compose启动的容器IP:
docker inspect -f '{
{.Name}} - {
{range .NetworkSettings.Networks}}{
{.IPAddress}}{
{end}}' $(docker ps -aq)