git clone https://github.com/jpetazzo/pipework cp ./pipework/pipework /usr/local/bin/
docker run -itd --name test01 --network none busybox pipework br0 test01 172.18.18.36/24@172.18.18.1
1、查看网络 docker network ls 2、设置容器的网络为none docker run -it --net=none xx /bin/bash 3、设置和主机共用网络 docker run -it --net=host busybox /bin/bash 4、设置容器特权 --privileged=true 5、启动容器的时候设置容器主机名 -h cook
6、修改docker的默认容器配置
image.png
7、允许docker ping所有容器 sudo iptables -A DOCKER -p icmp --icmp-type echo-request -j ACCEPT sudo iptables -A DOCKER -p icmp --icmp-type echo-reply -j ACCEPT
8、自定义网桥 yum install -y bridge-utils docker network create --driver bridge --subnet=172.30.0.0/16 br01s docker run -itd --net=br01s --name test03 busybox
<meta charset="utf-8"> 1、桥接网络模式(bridge):这是docker默认的网络驱动程序,如果在创建驱动程序时未指定驱动程序类型,默认便是bridge模式。当你的应用程序是在同一个主机部署独立容器时,推荐使用桥接网络模式。连接到同一桥接网络的容器可以互相通信,对不同桥接网络的容器则无法直接相互通信。 2、覆盖网络模式(overlay)****:覆盖网络模式可以将不同的Dockerd守护进程连接在一起,该网络模式支持集群容器之间相互通信,以及集群和某个单机版独立容器直接相互通信,或不同Dockerd守护进程的独立容器之间进行通信。该网络模式使用场景比较广泛,通常集群部署时会使用该模式。 3、主机网络模式(host):如果某个容器需要访问主机的某个服务,那么需要配置主机网络模式,该模式直接占用主机的网络端口和网卡资源。也就是说docker网络并非隔离而是直接和宿主机共享资源,就好像应用是直接在宿主机上运行一样。但是其它(例如存储,进程命名空间和用户命名空间)相对宿主机隔离的。该模式仅适用于Docker 17.06及更高版本的swarm服务。 4、MAC网络模式(macvlan):Macvlan网络允许您为容器分配MAC地址,使其显示为网络上的物理设备。Docker守护程序通过其MAC地址将流量路由到容器。macvlan 使用场景在于如果希望直接连接到物理网络时,使用驱动程序有时是最佳选择,而不是通过Docker宿主机的网络堆栈进行路由。 **5、禁用网络模式(none): **禁用容器所有网络。通常与自定义网络驱动程序一起使用。none不适用于群组服务。
image.png
image.png
image.png