网络简介
Docker网络的实现主要是依赖Linux网络有关的技术,这些技术有网络命名空间(Network Namespace)、Veth设备对、网桥、ipatables和路由。
网络命名空间,实现网络隔离
Veth设备对,实现不同网络命名空间之间的通信
网桥,实现不同网络之间通信
ipatables,实现对数据包进行过滤和转发
路由,决定数据包到底发送到哪里
网络模式
1 | [root@localhost ~]# docker network --help |
安装完docker,就默认创建了三个网络
1 | [root@localhost ~]# docker network ls |
运行容器时,你可以使用–net志来指定容器应连接到哪些网络
host模式:使用--net=host指定
容器和宿主机共用一个Network Namespace,容器将使用宿主机的网络。
none模式:使用--net=none指定
就是没有网络。
container模式:使用--net=container:容器名称或者ID指定
当前容器和指定容器共用一个Network Namespace,当前容器将使用指定容器的网络。
bridge模式:使用--net=bridge指定,默认设置
bridge模式,桥接模式,默认的模式