docker网络模式

  • 默认为 bridge
    --net=bridge 默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中。
//查看网卡信息
ifconifg
  • host
    --net=host
    容器不会获得一个独立的network namespace,而是与宿主机共用一个。这就意味着容器不会有自己的网卡信息,而是使用宿主
    机的。容器除了网络,其他都是隔离的。
  • none
    --net=none
    获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置。
  • container
    net=container:Name/ID
    与指定的容器使用同一个network namespace,具有同样的网络配置信息,两个容器除了网络,其他都还是隔离的。
  • 自定义网络 与默认的bridge原理一样,但自定义网络具备内部DNS发现,可以通过容器名或者主机名容器之间网络通信。

busybox来测试

docker pull busybox
docker images
//运行 busybox 
docker run -itd --name bs01 --net=bridge busybox
docker run -itd --name bs02 --net=host busybox
//进入busybox容器中 用 sh
docker exec -it bs02 sh

-itd中的d参数,是给容器分配一个伪终端,保持在后台运行



移除测试的容器

docker rm -f 
//如
docker rm -f nginx01
  • 查看端口监听情况(host模式下)
netstat -antp |grep 80

container模式实例

新建bs容器和nginx01容器,两个容器共用相同的网络命名空间

docker run  -itd --name bs -p 99:80 busybox
docker run -d --name nginx01 --net container:bs nginx
docker exec -it bs sh
netstat -antp
docker网络模式_第1张图片
image.png

自定义网络实例

1、创建一个网络bs-test

docker network create bs-test

2、新建bs3bs4,加入自定义网络 bs-test,可以互相ping

docker run -it --name bs3 --net bs-test busybox
docker run -it --name bs4 --net bs-test busybox
ping bs3
docker网络模式_第2张图片

centos路由和路由表命令

  • 查看路由
route
  • 查看路由表
iptables -vnL
//
iptables-save

你可能感兴趣的:(docker网络模式)