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配置文件
全球首款通过IMAXEnhanced认证!荣耀平板V8Pro超强影音今日开售12月26日荣耀全场景新品发布会为大家带来了多款全场景智能产品首当其冲的是穿戴产品荣耀手环7,机身采用高光金属材质支持96种运动模式全天候血氧监测,提供蔷薇粉雪松青幻夜黑,三种配色
英超1埃弗顿距阿森纳7分北京时间12月31日23点,202223赛季英超联赛第18轮,曼城主场对阵埃弗顿。比赛中,哈兰德上半场为曼城先拔头筹,不过埃弗顿由格雷在下半场破门扳平比分。最终,曼城主场11被埃弗
英超2布莱顿7分领跑北京时间2023年1月1日凌晨1点30分,202223赛季英超联赛第18轮,布莱顿主场对阵阿森纳。上半场,萨卡闪击破门,厄德高扩大比分下半场,恩凯蒂亚锦上添花,三笘薰扳回一城后马丁
官方35岁苏亚雷斯加盟巴甲格雷米奥,签约两年直播吧1月1日讯官方消息,35岁苏亚雷斯自由转会加盟巴甲格雷米奥,签约至2024年12月。据此前媒体透露,苏亚雷斯130万雷亚尔月薪(约25万欧)奖金的合同将会让他成为巴西联赛收入
我说夺冠他们在笑!领袖锡安带队登顶西部第一22岁已无人拦得住当初在篮球名校杜克大学效力期间,锡安就让自己名声大噪,而在19年选秀大会,这位身高不到2米的迷你内线,力压巴雷特莫兰特等热门新秀,成功当选状元郎,当初鹈鹕愿意和湖人做那笔关于浓眉的
花仙子,再见去年,昆明街头的100组立体花坛受到了广大市民和游客的关注,各式各样的立体花坛争奇斗艳,引得大家纷纷前来打卡拍照。花仙子刷屏!这姑娘是怎么诞生的?揭秘位于金马碧鸡坊的共生共融立体花
CBA最新积分榜辽宁15分送浙江第二败,攀升第三,吉林击溃同曦!北京时间1月1日,CBA常规赛第20轮的比赛全部结束,在昨晚结束的两场比赛中,吉林125113大胜同曦,焦点大战辽宁11499击溃浙江,目前在最新积分榜上,浙江吞赛季第二败继续排名
C罗加盟的利雅得胜利沙特的首都二哥从欧洲顶级豪门到沙特阿拉伯二哥在2022年的最后一天,在卡塔尔世界杯铩羽而归的C罗敲定了自己的新东家,来自沙特联赛的利雅得胜利成为了C罗职业生涯出道以来加盟的首个非欧洲联赛球队。在
纳什篮网的锅,就这样背了?史蒂夫纳什,曾经太阳的风之子,身高1。91m的白人球员,两夺常规赛MVP,被誉为史上最伟大控卫之一,以一人一个体系掀起联盟的跑轰战术!现在的年轻后生还有谁能记得纳什的伟大?网上铺天
金卡戴珊意犹未尽,晒可爱漫画照,42岁绝佳身材,2022年大丰收12月29日,2022年即将过去,这一年在NBA发生了很多事情,金州勇士队再次拿到冠军,库里如愿以偿拿到了FMVP,洛杉矶湖人队直接无缘季后赛,詹姆斯很失望。太阳队球星布克和詹娜一
性感美女时尚写真,清纯漂亮清新可爱小姐姐,甜美迷人人生的舞台心有多大世界就有多大,人生就有多宽广,不必仰望别人,自己亦是风景,做回自我,用简单做生命的底色,看山是山,看水是水,微笑向暖,相信总有一个笑脸是为我们而绽放的,总有一处风