1.我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:

· host模式,使用--net=host指定

· container模式,使用--net=container:NAME_or_ID指定

· none模式,使用--net=none指定

· bridge模式,使用--net=bridge指定,默认设置

  • 封闭容器        ---none
  • brigde桥接     ---虚拟桥
  • 联盟式容器         ---容器之间共享network虚拟桥
  • 享有宿主机网络  ---物理桥

Network container Archetypes:

2. 创建不同的容器网络

host模式:

  # docker run --name t3 -it --rm --network=host busybox:latest

none模式:

  # docker run --name t3 -it --rm --network=none busybox:latest

bridge模式(默认 即为bridge模式):

  # docker run --name t1 -it --rm --network=bridge busybox:latest

  或者

  # docker run --name t1 -it --rm busybox:latest

container模式:

  # docker run --name t1 -it --rm --network=bridge busybox:latest

  # docker run --name t2 -it --rm --network=container:t1 busybox:latest

3. 创建虚拟网卡并配置实现不同namespace通信

[root@maple-master ~]# ip netns help
# 创建r1 r2 namespace
# ip netns add r1
# ip netns add r2 # 在r1namespace中执行命令
# ip netns exec r1 xxx # ip link help #可以link 移动创建好的虚拟网卡到某个namespace
# 创建 虚拟网卡对veth1. veth1.
# ip link add name veth1. type veth peer name veth1. # 查看网卡
# ip link show
: veth1.@veth1.: <BROADCAST,MULTICAST,M-DOWN> mtu qdisc noop state DOWN mode DEFAULT group default qlen
link/ether :1b:a3::0b:ae brd ff:ff:ff:ff:ff:ff
: veth1.@veth1.: <BROADCAST,MULTICAST,M-DOWN> mtu qdisc noop state DOWN mode DEFAULT group default qlen # 将创建好的一个虚拟网卡移动到一个namespace中来通信
# ip link set dev veth1. netns r2
# ip netns exec r2 ifconfig -a # 激活宿主机和r2中的虚拟网卡
# ifconfig veth1. 10.1.0.1/ up
# ip netns exec r2 ifconfig veth1. 10.1.0.2/ up # 宿主机上测试ping
# ping 10.1.0.2
  • 同样的我们可以把veth1.1 移动到r1中来实现两个namespace的通信

4. docker run 命令扩展

# docker run --help

# docker run --name t1 -it --rm --network=bridge --hostname=maple6 --dns=8.8.8.8 --dns-search=ilinux.io busybox:latest

docker容器网络的更多相关文章

  1. Docker容器网络篇

    Docker容器网络篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker的网络模型概述 如上图所示,Docker有四种网络模型: 封闭式网络(Closed conta ...

  2. 【转】理解Docker容器网络之Linux Network Namespace

    原文:理解Docker容器网络之Linux Network Namespace 由于2016年年中调换工作的原因,对容器网络的研究中断过一段时间.随着当前项目对Kubernetes应用的深入,我感觉之 ...

  3. 两台主机间docker容器网络互通

    服务器1: 网络172.30.0.0/16 服务器2: 网络172.31.0.0/16 服务器1和服务器2上的docker容器网络之间是无法互通的,如果需要互通,需要做以下配置: 服务器1上执行: i ...

  4. docker容器网络bridge

    我们知道docker利用linux内核特性namespace实现了网络的隔离,让每个容器都处于自己的小世界里面,当这个小世界需要与外界(宿主机或其他容器)通信的时候docker的网络就发挥作用了,这篇 ...

  5. Docker容器网络-基础篇

    开源Linux 一个执着于技术的公众号 Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技术有Network Namespace.Veth设备对.Iptables/N ...

  6. Docker容器网络配置

    Docker容器网络配置 1.Linux内核实现名称空间的创建 1.1 ip netns命令 可以借助ip netns命令来完成对 Network Namespace 的各种操作.ip netns命令 ...

  7. 5、Docker容器网络

    使用Linux进行IP层网络管理的指     http://linux-ip.net/html/ # yum install iproute http://linux-ip.net/html/tool ...

  8. 初学Docker容器网络不得不看的学习笔记

    一.关于Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  9. Docker 容器网络

    默认网络 当安装docker时,它会自动创建3个网络.可以使用docker network ls 来查看.   zane@zane-V:~$ docker network ls NETWORK ID ...

随机推荐

  1. 硬杠后端(后端坑系列)——Django前期工作

    Django是一个开放源代码的Web应用框架,由Python写成,采用了MVC的框架模式. MVC MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件 ...

  2. animate-queue和step-animate

    Step-animate: 分为3部分:{配置},{step:function(){...},duration:1000} <div id="warpper" style=& ...

  3. 逐个使用C++11新特性

    C++11 auto & decltype auto:根据变量初始值来推导变量类型,并用右值初始化变量. decltype:从表达式推导出类型,并将变量定义为该类型,但不用表达式的值初始化该变 ...

  4. sql Server 创建临时表 嵌套循环 添加数据

    begin --通过销货单与明细,生成安装项目及明细,及判断明细是否拆分生成多条 --delete from sazxm --delete from ssbazrw --获取未生成项目的销货单号 ,) ...

  5. Delphi中常用字符串处理函数

    .copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回. 假设str为,)=,)='def' .concat(str1,str2{,strn}) 把各自变量连接起 ...

  6. 用jenkins创建节点

    原料:(1)jre下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html ( ...

  7. 七 Struts2 文件上传和下载

    配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC &qu ...

  8. openstack第一章:keystone

    第一篇keystone— 身份认证服务 一.Keystone介绍:       keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身 ...

  9. VS2019 实用操作

    本文列出了在编写程序过程中的几个非常实用的操作方式,通过这些操作方式,可以在一定程度上减少重复操作.提高编码效率.改善编程体验. 列模式操作 列操作是一项很常用且实用的功能,可以一次性修改不同的行. ...

  10. ccpc杭州站 赛后总结

    Ccpc杭州站赛后总结 2017年11月4号五号,我参加了ccpc杭州站的比赛,我的队友是聂少飞和王艳,在4号一点半,举行了比赛开幕式,听着教练代表的发言,听着参赛选手代表的发言,听着志愿者的发言,都 ...