标签:交换机 1.7 iptables 手动 详细信息 creat docke 端口 应用
容器网卡的三种工作模式:bridge、host、none。
物理机就像一个虚拟交换机,做容器与容器之间,容器与外网通信的桥梁。当运行容器时,Docker会在物理机上创建Docker0和vethx虚拟网卡,Docker0是一个三层接口拥有容器网段的IP地址,用于物理机与容器通信,而vethx是一个二层虚拟接口,用于连接容器网卡。默认情况下容器会使用MASQUERADE(动态SNAT)的方式将容器内部网络转换成物理机网卡网段去访问到外网。
因为是个虚拟交换机,当然如果你想要内网其他主机访问到容器内部的话,则可以手动增加一条到容器网段的路由即可。
如果你想要发布一个WEB服务或其他服务,你只需要在运行容器时使用“-p <端口:端口>”或“-P”增加端口映射,则Docker会自动使用物理机的IPtables防火墙做DNAT地址转换,当你访问物理机的对应IP+端口时,实际访问的是容器中的应用服务。
容器完全复制物理机网络与外界通信。容器与容器之间无法访问。
无网络模式,容器无法访问其他容器及外部网络,只可以自己访问自己。
默认情况下容器使用“bridge”网络。
[root@localhost ~]# docker network ls
网络ID 网络名 网络设备类型 作用范围
NETWORK ID NAME DRIVER SCOPE
08934fc06219 bridge bridge local
7288591dd537 host host local
0e74f42e99d3 none null local
可以创建一个自定义的“bridge”网络,使容器与容器之间网络隔离,互不影响。默认情况下“host”网络只允许有一个,所以一般情况下我们都是创建的自定义网络都是“bridge”。
语法:docker network create [选项] 网络名
选项:
-d <drive_type> 指定网络设备类型,默认是"bridge"
示例:
[root@localhost ~]# docker network create -d bridge my-network
语法:docker network rm 网络名
示例:
[root@localhost ~]# docker network rm my-network
语法:docker network prune [选项]
选项:
-f 强制删除
示例:
[root@localhost ~]# docker network prune
语法:docker network inspect 网络名
示例:
[root@localhost ~]# docker network inspect bridge
[root@localhost ~]# docker run -d -p 80:80 --name "WEB-NGINX" --network my-network nginx:latest
标签:交换机 1.7 iptables 手动 详细信息 creat docke 端口 应用
原文地址:https://www.cnblogs.com/network-ren/p/9519869.html