docker容器网络
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容器网络的更多相关文章
- Docker容器网络篇
Docker容器网络篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker的网络模型概述 如上图所示,Docker有四种网络模型: 封闭式网络(Closed conta ...
- 【转】理解Docker容器网络之Linux Network Namespace
原文:理解Docker容器网络之Linux Network Namespace 由于2016年年中调换工作的原因,对容器网络的研究中断过一段时间.随着当前项目对Kubernetes应用的深入,我感觉之 ...
- 两台主机间docker容器网络互通
服务器1: 网络172.30.0.0/16 服务器2: 网络172.31.0.0/16 服务器1和服务器2上的docker容器网络之间是无法互通的,如果需要互通,需要做以下配置: 服务器1上执行: i ...
- docker容器网络bridge
我们知道docker利用linux内核特性namespace实现了网络的隔离,让每个容器都处于自己的小世界里面,当这个小世界需要与外界(宿主机或其他容器)通信的时候docker的网络就发挥作用了,这篇 ...
- Docker容器网络-基础篇
开源Linux 一个执着于技术的公众号 Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技术有Network Namespace.Veth设备对.Iptables/N ...
- Docker容器网络配置
Docker容器网络配置 1.Linux内核实现名称空间的创建 1.1 ip netns命令 可以借助ip netns命令来完成对 Network Namespace 的各种操作.ip netns命令 ...
- 5、Docker容器网络
使用Linux进行IP层网络管理的指 http://linux-ip.net/html/ # yum install iproute http://linux-ip.net/html/tool ...
- 初学Docker容器网络不得不看的学习笔记
一.关于Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...
- Docker 容器网络
默认网络 当安装docker时,它会自动创建3个网络.可以使用docker network ls 来查看. zane@zane-V:~$ docker network ls NETWORK ID ...
随机推荐
- 5分钟掌握var,let和const异同
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://dzone.com/articles/javascript-difference-b ...
- openlayers二:添加矢量图形文字
openlayers可方便的在地图上添加圆.多边形.文字等矢量内容,修改这些矢量内容的样式也很简单. 首先需要添加一个向量图层: initVectorLayer: function () { this ...
- MySQL安装之yum安装
转载来源:https://www.cnblogs.com/brianzhu/p/8575243.html 1. 下载并安装MySQL官方的 Yum Repository 1 [root@BrianZh ...
- Jmeter、Java当double显示的数字过长时取消科学计数法显示
今日,由于项目需要,使用Jmeter发送查询账户并不保存余额,经过交易后,进行运算后再次比对余额. 实施过程中获取了余额字段并赋值给一个double变量.变量进行运算后再与交易后的账户余额进行比对.这 ...
- RowKey设计之单调递增行键/时序数据
在一个集群中,一个导入数据的进程锁住不动,所有的client都在等待一个region (因而也就是一个单个节点),过了一会后,变成了下一个region…如果使用了单调递增 或者时序的key便会造成 ...
- MySql安装教程
一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”. 2.选择安装类型,有“Typical(默认)”.“Comp ...
- C# ComboBox绑定值问题
使用这种方式始终绑定值有问题: cbxSchool.DataSource = schoolList; cbxSchool.DisplayMember = "school_name" ...
- vue(5)—— vue的路由插件—vue-router 常用属性方法
前端路由 看到这里可能有朋友有疑惑了,前端也有路由吗?这些难道不应该是在后端部分操作的吗?确实是这样,但是现在前后端分离后,加上现在的前端框架的实用性,为的就是均衡前后端的工作量,所以在前端也有了路由 ...
- 基于mysql的一些sql语法
Sql: distinct: select distinct * from tea; Tea中每行的数据必有不同,若有两行相同的,则只输出一行 Limit: select * from stu lim ...
- python接口自动化-session_自动发文
一.session简介 查看 requests.session() 帮助文档(只贴了一部分内容) import requests help(requests.session()) class Sess ...