参考
Docker网络模式
Host
- 简介:
- 容器没有自己的任何独立的网络资源(比如:容器的IP、网卡和端口),完全和宿主机共享网络空间。
- 简单的讲,容器就像安装在电脑上的应用一样,它和宿主机共享网络资源。
- 优点
- 共享宿主机网络,性能最高
None
- 简介:
- 容器没有网络资源,即容器无法访问网络。
Bridge
- 简介:
- 默认模式:桥接到宿主机的Docker0网络上。
注意
- 不同网络的容器不能相互访问。
- 在同一个网络的容器可以相互访问。他们的关系相当于:连接同一个WIFI的手机,
- 同一个网络的容器可以通过
服务名相关访问,http://服务名:端口号。例如:http://mysql:3306,http://nginx。 - 一个容器可以同时加入多个网络。
- 容器通过服务名查找服务时候,默认从当前容器最先加入的网络中查找。
Docker网络相关命令
docker network ls:查看所有网络docker network --help:查看网络帮助docker network connect mynetwork mycontainer:将将容器加入网络--alias:指定容器别名
Docker网络的服务发现机制
- Docker Compose创建容器时候,为这个容器注册一个DNS名称(服务名/域名/别名),同一个网络的其他服务可以通过这个DNS名称访问到这个容器。
- 使用
docker network connect加入网络后,如果这个容器没有注册DNS名称,那么新网络其他容器无法通过DNS名称访问到这个容器。