1.7 Docker-网络管理
Posted network-ren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.7 Docker-网络管理相关的知识,希望对你有一定的参考价值。
1.7 网络管理
容器网卡的三种工作模式:bridge、host、none。
bridge(网桥模式)
物理机就像一个虚拟交换机,做容器与容器之间,容器与外网通信的桥梁。当运行容器时,Docker会在物理机上创建Docker0和vethx虚拟网卡,Docker0是一个三层接口拥有容器网段的IP地址,用于物理机与容器通信,而vethx是一个二层虚拟接口,用于连接容器网卡。默认情况下容器会使用MASQUERADE(动态SNAT)的方式将容器内部网络转换成物理机网卡网段去访问到外网。
因为是个虚拟交换机,当然如果你想要内网其他主机访问到容器内部的话,则可以手动增加一条到容器网段的路由即可。
如果你想要发布一个WEB服务或其他服务,你只需要在运行容器时使用“-p <端口:端口>”或“-P”增加端口映射,则Docker会自动使用物理机的IPtables防火墙做DNAT地址转换,当你访问物理机的对应IP+端口时,实际访问的是容器中的应用服务。
host(主机模式)
容器完全复制物理机网络与外界通信。容器与容器之间无法访问。
none(无网络模式)
无网络模式,容器无法访问其他容器及外部网络,只可以自己访问自己。
1、查看容器网络
默认情况下容器使用“bridge”网络。
[[email protected] ~]# docker network ls
网络ID 网络名 网络设备类型 作用范围
NETWORK ID NAME DRIVER SCOPE
08934fc06219 bridge bridge local
7288591dd537 host host local
0e74f42e99d3 none null local
2、创建自定义容器网络
可以创建一个自定义的“bridge”网络,使容器与容器之间网络隔离,互不影响。默认情况下“host”网络只允许有一个,所以一般情况下我们都是创建的自定义网络都是“bridge”。
语法:docker network create [选项] 网络名
选项:
-d <drive_type> 指定网络设备类型,默认是"bridge"
示例:
[[email protected] ~]# docker network create -d bridge my-network
3、删除自定义容器网络
语法:docker network rm 网络名
示例:
[[email protected] ~]# docker network rm my-network
4、删除所有未使用的容器网络
语法:docker network prune [选项]
选项:
-f 强制删除
示例:
[[email protected] ~]# docker network prune
5、查看一个容器网络设备的详细信息
语法:docker network inspect 网络名
示例:
[[email protected] ~]# docker network inspect bridge
6、容器运行时手动指定容器网络
[[email protected] ~]# docker run -d -p 80:80 --name "WEB-nginx" --network my-network nginx:latest
以上是关于1.7 Docker-网络管理的主要内容,如果未能解决你的问题,请参考以下文章
Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段
markdown [Docker] Docker片段列表和命令#linux #docker #snippets