Docker的网络包含bridge、host和none。可以通过docker network ls命令来查看:
- bridge模式: bridge模式是Docker的默认网络模式。当Docker安装之后,会在宿主机安装docker0网卡,docker0网卡通过连接宿主机网卡实现网络连接,让我们执行ip addr命令:
当启动新的容器的时候,会为容器建立新的网卡,容器的网卡通过docker0网卡连接宿主机网卡实现网络连接,例如我们启动一个容器:最下面为刚启动容器的网卡,它通过docker0网卡与宿主机网卡实现网络连接。
总结如下:
另外再提一句:在bridge模式下,外部机器是无法直接访问docker容器的,必须通过映射端口才能访问,这个后续再谈。
- host模式:该模式下docker不会拥有自己的ip和端口,而是使用宿主机的ip和端口。优点:相比于bridge模式,网络会更快。弱点:可能会存在端口冲突。可以通过--net=host来指定host模式。
可以通过docker inspect查看刚刚启动的容器ip地址:
总结如下:
- none模式:其实也就是无网络模式,none模式的容器也是没有ip地址的。
同样也可以通过docker inspect查看IP地址: