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 <ID/Name>
//如
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
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

centos路由和路由表命令

  • 查看路由
route
  • 查看路由表
iptables -vnL
//
iptables-save
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.Docker的四种网络模式 1.Docker在创建容器时有四种网络模式,bridge为默认不需要用--n...
    宇晨棒棒的阅读 1,114评论 0 2
  • docker之容器通信 这节属于了解学习,算是烂尾,最后我也没找到合适的方式去固定容器ip,然后作为正式环境去跑,...
    道无虚阅读 5,533评论 1 7
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,532评论 0 120
  • http://blog.51cto.com/ganbing/2088899 前言 在上一篇文章中 《“深入浅出”来...
    lifesmily阅读 733评论 1 1
  • 概述 自从docker容器出现以来,容器的网络通信就一直是大家关注的焦点,也是生产环境的迫切需求。而容器的网络通信...
    糙老爷们儿吃什么樱桃阅读 3,650评论 1 5