一、docker的网络模型分为四种
【1】Host(与宿主机共享一个网络),宿主机的localhost 及 容器内的localhost
【2】Bridge(与宿主机共享一个局域网,有自己的网络;docker运行默认Bridge);容器内localhost不是宿主机localhost
【3】Container(与另一个容器共享一个网络,eg:业务容器和数据库容器)
【4】None(封闭网络)
通过docker inspect指令可以看到当前容器的网络设置
二、容器之间的连通问题
【1】查看docker网络情况
docker network ls
【2】检查容器所处的网络
docker inspect -f '{{range $key, $value := .NetworkSettings.Networks}}{{$key}} {{end}}' [container]
【3】检查网络下的容器
docker network inspect -f '{{range .Containers}}{{.Name}} {{end}}' [network]
同一个network下的容器是可以互通的
【4】将容器添加到某个网络下
docker network connect [network] [container]
【5】除了用同一个网络,还可以通过 host.docker.internal 来实现容器之间的相互访问
cat /etc/hosts