docker 第四篇 网络
安装docker以后自动添加三种网络方式
bridge: 表示桥接网络 (在本地自动创建一个软交换机)
host: 表示让容器使用宿主机的网络名称空间
none: 表示没有网络 不能执行网络通信。
创建容器的同时会创建一对网卡 一半在物理机上(自动关联bridge)一半在容器里面
可以通过以下命名查看关联关系
yum -y install bridge-utils
brctl show
ip link show
容器的网络名称空间 UTS IPC是可以被共享的
添加网络名称空间
前奏
rpm -q iproute
ip netns help
添加:
ip netns add r1
在网路名称空间中执行命令:
ip netns exec r1 ifconfig -a (此时网络名称空间是没有被激活的,需要添加虚拟网卡对)
手动添加虚拟网卡对:
ip link add name veth1.1 type veth peer name veth1.2
name 指定第一半的名字
type 类型
peer 指定另一半的相关信息
把虚拟网卡移动的名称空间里面:
ip link set dev weth1.2 netns r1
给名称空间里面的虚拟网卡改名:
ip netns exec r1 ip link set dev veth1.2 name eth0
激活宿主机上的虚拟网卡:
ifconfig veth1.1 10.1.0.1/24 up
激活名称空间里面的网卡:
ip netns exec r1 ifconfig eth0 10.1.0.2/24 up
查看名称空间里面的虚拟挖网卡ip:
ip netns exec r1 ifconfig
使用封闭式容器 (none)
docker run --name t3 -it --network none --rm busybox:latest
指定bridge网络(默认就是bridge)可以和当前主机的其它容器通信
docker run --name t3 -it --network bridge --rm busybox:latest
创建容器的时候指定主机名:
docker run --name t3 -it --network bridge -h t3.com --rm busybox:latest
暴露端口给其他主机访问:
docker run --name t3 -it -p 80 --rm wang/httpd:v0.2
-p 随机生成物理端口
-P 不用指定端口 会自己暴露
查看容器端口映射到具体哪个物理地址
docker port 容器名称
指定容器端口绑定物理机的某个ip 且ip是随机的
docker run --name t3 -it -p 172.30.0.14::80 --rm wang/httpd:v0.2
指定绑定容器的80端口到物理机的80:
docker run --name t3 -it -p 80:80 --rm wang/httpd:v0.2
即指定端口又指定ip:
docker run --name t3 -it -pip:80:80 --rm wang/httpd:v0.2
联盟还是容器(让两个容器共享一个名称空间) Joined container
两个名称空间各自使用自己的User Mount Pid, 共享UTS Net 和IPC
共享其他容器的网络名称空间:
docker run --name b6 --network container:b5 -it --rm busybox
共享主机的地址给容器:
docker run --name b5 --network host -it --rm busybox
配置修改docker默认的ip地址段
直接在/etc/docker/daemon.json 文件添加
"bip":"ip/掩码", 其余的会根据ip自动生成
在docker远程连接其他docker (默认不可以,因为docker默认监听的是本地的unit协议)
需要修改监听一个正常的tcp监听端口即可,也是在/etc/docker/daemon.json 文件添加
"hosts":["tcp://0.0.0.0:2375", "unix":///var/run/docker.sock]
远程连接: docker -H ip:375 command
根据需求添加网络:
docker network create -d bridge --subnet "172.26.0.0/16" --gateway "172.26.0.1" mybr0
创建容器时 把网络加到自己创建到ip段里面:
docker run --name t5 -it --rm --net mybr0 busybox
docker 第四篇 网络的更多相关文章
- [docker]docker的四种网络方式
声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! bridge方式(默认) H ...
- docker的四种网络模式
/* 1. host模式 : docker run 使用 --net=host指定 docker使用的网络实际上和宿主机一样 2. container模式: 使用 --net=container:co ...
- Python之路(第三十四篇) 网络编程:验证客户端合法性
一.验证客户端合法性 如果你想在分布式系统中实现一个简单的客户端链接认证功能,又不像SSL那么复杂,那么利用hmac+加盐的方式来实现. 客户端验证的总的思路是将服务端随机产生的指定位数的字节发送到客 ...
- Docker——四种网络模式
docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: bridge模式:使用–net =bridge指定,默认设置: host模式 ...
- docker+k8s基础篇四
Docker+K8s基础篇(四) pod控制器 A:pod控制器类型 ReplicaSet控制器 A:ReplicaSet控制器介绍 B:ReplicaSet控制器的使用 Deployment控制器 ...
- JDownload: 一款可以从网络上下载文件的小程序第四篇(整体架构描述)
一 前言 时间过得真快,距离本系列博客第一篇的发布已经过去9个月了,本文是该系列的第四篇博客,将对JDownload做一个整体的描述与介绍.恩,先让笔者把记忆拉回到2017年年初,那会笔者在看Unix ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- [转帖]Docker四种网络模式
Docker(十四)-Docker四种网络模式 https://www.cnblogs.com/zhuochong/p/10069293.html 计算机网络相关的知识 非常有用.. Docker 安 ...
- Docker学习第四天(Docker四种网络模式)
Docker四种网络模式 实现原理 Docker使用Linux桥接(参考<Linux虚拟网络技术>),在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根 ...
随机推荐
- python-30个骚操作
1.冒泡排序 2.计算x的n次方的方法 3.计算a*a + b*b + c*c + …… 4.计算阶乘 n! 5.列出当前目录下的所有文件和目录名 ...
- 不能在jsp页面<c:choose>对标签中使用<!---->进行注释
jsp页面<c:choose>标签中使用<!---->进行注释,访问出现异常,如下: 标签范围:
- leetcode 区间合并
个区间若能合并,则第一个区间的右端点一定不小于第二个区间的左端点.所以先把区间集合按照左端点从小到大进行排序,接着从第一个区间开始遍历,对每个区间执行如下操作: 1.首先保存该区间的左端点start和 ...
- 微信小程序 — 自定义picker选择器弹窗内容+textarea穿透bug
微信小程序中定义好的几种picker选择器,不管是日期选择器还是地区选择器,或是其他的都只有定死的样式和内容. 但是大多数开发程序的情况下还是需要自己写样式的,或是内容的. 例如: 代码如下: < ...
- Jmeter 逻辑控制器 之 Runtime Controller
一.认识 Runtime Controller 控制其下样例执行的时间长度. 设置界面: Runtime (seconds):运行时间,单位秒.即控制其下样例执行多长时间.与线程组中的调度器的持续 ...
- 最新 同程java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.同程等10家互联网公司的校招Offer,因为某些自身原因最终选择了同程.6.7月主要是做系统复习.项目复盘.LeetCode ...
- java新特性stream
java新特性stream,也称为流式编程. 在学习stream之前先了解一下java内置的四大函数 第一种函数式函数,后面是lambda表达式写法 /*Function<String,Inte ...
- 转换函数conversion function
类转换分为两个角度 转换自身为其他类型 把其他类型转换为自身 Example: 这里我们可以将b转换为class xxx 的类型(方式2),也可以将me转换为double,然后再讲结果转换为doubl ...
- redis安装-备份-恢复
1.安装参考:https://www.jb51.net/article/146744.htm 2.安装ruby2.3.3 .gpg2 --keyserver hkp://keys.gnupg.net ...
- APUE ☞ 文件和目录
粘着位(Sticky Bit) S_ISVTX位被称为粘着位.如果一个可执行程序文件的这一位被设置了,程序第一次运行完之后,程序的正文部分的一个副本仍被保存在交换区(程序的正文部分是机器指令).这使得 ...