docker容器网络
容器的四种网类 bridge: -net=bridge 桥接式网路:这里的桥接网络不是物理桥接,指的是nat桥接,bridge模式是docker的默认网络模式地址是172.17.0*网段,不写--net参数,就是bridge模式。
Host: -net=host 主机式网络:容器与宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。
container: -net=container:NAME_or_ID 联盟式网络: 这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围。
none: -net=none 封闭式网络: Docker容器拥有自己的Network Namespace,这个Docker容器没有网卡(只有 lo 回环网络)、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。
容器默认的桥接网络是172.17.0.1,每启动一个容器将默认分配一个172.17.0网段的地址。
安装bridge-utils工具查看网络交接情况
[root@localhost ~]# yum install bridge-utils
[root@localhost ~]# brctl show 显示桥接了三块网卡(已启动三个容器)
[root@localhost ~]# docker inspect bridge (可查看默认bridge网络)
[root@localhost ~]# docker container inspect tt 查看容器网络
[root@localhost ~]# docker run --name by -it --network bridge busybox:latest 指定bridge网络模式。
[root@localhost ~]# docker run --name by -it --network none busybox:latest 指定none网络模式,这个Docker容器没有网卡称为封闭式容器。
[root@localhost ~]# docker run --name by -it --network bridge -h jchj --dns 8.8.8.8 busybox:latest
启动容器时指定其容器名称、网络类型、主机名、DNS地址。
[root@localhost ~]# docker run --name by -it --network bridge -h jchj --dns 8.8.8.8 --add-host www.jchj.shop:10.0.0.101 busybox:latest 指定IP解析域名。
[root@localhost ~]# docker run --name jj -itd -p 32761:80 jchj/httpd:v0.2 把jj容器中需要对外暴露的80端口映射至宿主机的32761端口上,因此可以直接通过访问宿主机curl 10.0.0.101:32761来访问容器内的http服务。
主机是网络:容器与宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
[root@localhost ~]# docker run --name b2 --network host -it busybox
(宿主机的网络地址也是10.0.0.80)
桥接式网路:这里的桥接网络不是物理桥接,指的是nat桥接,bridge模式是docker的默认网络模式地址是172.17.0*网段
[root@localhost ~]# docker run --name b2 --network bridge -it busybox
(这里--network 指不指明bridge都一样,容器默认即是net桥接网络)
封闭式网络: Docker容器拥有自己的Network Namespace,这个Docker容器没有网卡(只有 lo 回环网络)
[root@localhost ~]# docker run --name b2 --network none -it busybox
(IP、路由等信息。后面我们可以自己为Docker容器添加网卡、配置IP等)
联盟式容器:这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。相当于一个主机上跑多个进程如:一个主机跑有nginx、mysql或是php等程序。
运行一个交互式容器:
[root@localhost ~]# docker run --name b1 -it busybox
[root@localhost ~]# docker run --name b2 --network container:b1 -it busybox
自定义docker0桥的网络属性信息(也就是改变默认docker0的桥接的172.17.0.*网络地址段)
更改docker0桥的网络属性信息:/etc/docker/daemon.json
"bip":"192.168.100.1/24", bip即bridge ip 之意,用于指定docker0桥自身的IP地址,其它选项可通过此地址计算得出
"fixed-cidr":"10.20.0.0/16", 指定默认IPV4地址
"fixed-cidr-v6":"2001:d8::/64", 指定默认IPV6地址
"mtu":1500,
"default-gateway":"10.20.1.1", 指定默认IPV4地址网关
"default-gateway-v6":"2001:db8:abcd::89", 指定默认IPV6地址网关
"dns":{"114.114.114.114","10.20.1.3"}, 指定DNS地址
此处我们一般只指定bip地址即可.
[root@localhost ~]# vim /etc/docker/daemon.json
(在容器极速器地址后面加上"bip":"192.168.100.1/24"保存退出重启容器)
[root@localhost ~]# systemctl restart docker 重启容器
[root@localhost ~]# docker run --name b2 --network bridge -it busybox
docker守护进程的c/s,其默认仅监听Unix S0cket格式的地址,/var/run/docker.sock;如果使用TCP套接字,/etc/docker/daemon.json
"hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
(即可通过地址访问,"tcp://0.0.0.0:2375"默认监听本机所有地址的2375端口,"unix:///var/run/docker.sock"unix协议路径)
也可向docker直接传递"-H|--host"选项
[root@localhost ~]# vim /etc/docker/daemon.json
[root@localhost ~]# systemctl restart docker 重启容器
[root@localhost ~]# ss -tnl
[root@js ~]# docker -H 10.0.0.80:2375 images 连接远程主机的docker
[root@js ~]# docker info 在docker的信息中可以看到还可以创建ipvlan、manvlan、overlay的桥。
再创建一个bridge的桥使用不同的IP地址段,如:docker network create -d bridge --subnet "172.26.0.0/16" --gateway "172.26.0.1" mybr0
[root@localhost ~]# docker network create -d bridge --subnet "172.26.0.0/16" --gateway "172.26.0.1" mybr0
两个不同网络地址段的bridge桥都是net桥接到本机的物理接口的,应该是可以相互通信的,如果不行就开启系统的核心转发功能。
CentOS7 开启内核转发
# vim /etc/sysctl.conf
#添加以下参数
net.ipv4.ip_forward=1 # 1表示开启 0表示关闭
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0 #控制系统是否开启对数据包源地址的校验
# rp_filter参数有三个值,0、1、2,具体含义: 0:不开启源地址校验。 1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。 2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不同,则直接丢弃该数据包。
sysctl -p ##让内核参数立即生效,加载sysctl配置文件
股市里什么机会是一定不能错过的?机会是跌出来的,风险是涨出来的,要在短时间挣钱那是难上加难,只要看好趋势心中不慌,以在银行存款心态,一年不涨当存二年,三年不涨当存四年,如此看高等待着总有一个时期庄家要闹翻天大涨翻
华为还有机会翻身吗,大家觉得机会是大还是小?这个问题很简单的,华为企业是中国民族产业支柱,决对不能出问题,一定要做好做大做强翻身一词何来?华为并没有倒下,而且很健康,发展势头目前还是比较好的,何须翻身一说作为国人,我不要求别
为什么苹果手机能用很多年,安卓机大部分只能用两年?这要看是什么国产手机了,不能用一千多的手机与近万元的苹果手机比,我的华为mate20x用了3年多还象新的一样。七千元对标七千元,六千元对标六千元,你咋不问问苹果问啥没有2000多和
普通人的颜值是什么水平啊看到身边的美女这么多容貌焦虑了怎么办?这些都是精修照片,容颜憔悴的一般是睡眠不足,气血不足或生活和工作太累压力过大,与生俱来的颜值,还是不要刻意去想太多,累人,改变能改变的,不能改变的,顺其自然就好。可以在学识上渊博一
有人说练字就是一个谎言,普通人练不成,各位有没有成功的案例?关于练字,我认为只要小学一二年级时,把汉字写的横平竖直,方方正正,有这个基本功即可,随着年龄的增长,写字也越来越老练,笔走龙蛇,是自然而然形成的,并且到了成年人,写字的风格,是随着
王者荣耀的皮肤,为什么比LOL贵?英雄联盟和王者荣耀都是腾讯的两款特别火的游戏,一个是moba手游,一个是大型moba游戏,谁也不逊色谁。都是火遍大江南北的游戏。可这两款游戏的消费也出奇的高,王者荣耀虽说是一款手游
小米10和7pro,哪个屏幕显示效果更好?谢邀!我很乐意回答你这个问题,希望可以得到大家认同!小米10和一加7pro比屏幕,必须是一加7Pro的屏幕显示效果更好!小米10Pro的也没有一加7Pro的屏幕显示效果好!饭可以乱
车辆内循环和外循环怎样使用才最合适?什么是内循环?内循环是从车内吸取空气,形成车辆内部的气流循环。通俗点说,内循环就是停止车内外空气置换,阻隔车外的空气进到车内,同时也不让车内的空气跑到车外。什么是外循环?外循环是从
你们有哪些一直用的壁纸分享?当然有啊,作为一个壁纸博主,一直在专注于分享更优质更高清的手机壁纸。奈何今日头条会压缩,没有办法,这个问题待解决。那这么多壁纸,我会选择用什么类型的图片做锁屏壁纸呢?肯定是带有激励
DNF新职业暗枪士史诗武器是什么?魔枪士新职业的史诗武器是暗矛,长得跟标枪差不多,那么暗矛有哪些史诗级别的呢?60级史诗蝶鸢最低级的史诗武器是60级的,没啥附加伤害,只是增加部分技能等级70级史诗黄金勇者70级史诗
高考生和大一学生,需配备什么样的笔记本,手机最有实用价值呢?这些东西根据自己的家境和经济支配情况而定,但是有一点要提醒你,无论你家境如何,都不建议你带着攀比的角度去购置这些电子产品。1不论是高考生还是大学生,其首要目的是学习为主,笔记本和手