docker 网络
创始人
2024-01-16 20:45:59
0

前言

随着容器的普及,经常使用docker创建容器来跑应用,结合开源的kubernetes和istio等,对于无状态的服务有极好的支持能力,秒级调度,弹性伸缩等优势。实际上kube的容器仅仅是接口,实际的容器可以是docker,podman等,以docker为例。

默认网络

默认即bridge网络,虽然名为桥接,实际上是NAT,在Linux是原生运行docker的,在mac和win是虚拟机运行的,经常可以看到qemu的进程,以ubuntu为例,安装就不说了,按照官方文档安装:Install Docker Engine on Ubuntu | Docker Documentation

注意官方源有问题,使用其他源即可,比如清华源。,安装后执行ifconfig

 

docker0网桥,即NAT的实现,虚拟路由,创建了127.17的网关,意味着默认创建的容器IP都是172.17开头的IP,同理可以使用端口映射的方式对外提供服务,实际上在kube中会有kube proxy代理,提供更复杂的lvs等扁平网络。还有很多开源的网络方案,比如:Flannel,Calico 和 Cilium

docker必须root运行,笔者以ubuntu镜像为例

 运行ubuntu

docker run -itd --name ubuntu-demo ubuntu   #如果只有-d,容器很快就运行结束了。

docker exec -it ubuntu-demo bash

直接进入容器,进入容器就是root权限。但是ubuntu官方的镜像只有基础命令,只能换源安装net-tools命令

mv /etc/apt/sources.list /etc/apt/sources.list.bak

cat >> /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF

换源后执行apt update ,不能使用https,因为镜像没有内置证书,需要手动下载证书,然而又没有wget等工具,😭。

apt install net-tools

打包备用

 

ifconfig后可以看到ip地址,在桥接下实际上是NAT网络,网关是172.17.255.255,实际上网关是可以设置的,即设置docker0虚拟网卡。 手动设置网络一样

 结果

 

host

设置host试试,实际上host和none模式仅在特殊时候使用

 可以看见宿主机的网卡信息,容器跟宿主机网络一模一样,公用宿主机网络

 

none

none模式就很特殊了,实际上就是localhost

 可以看到仅有127.0.0.1的lo网卡了,是lo不是l0,😅,当然也只能localhost访问了

container

container表示,已有容器是什么网络,启动的容器就是什么网络,这个特性在kube尤其重要

以最后示例为例,创建none同网络容器

创建host同网络容器

创建bridge同网络容器

  

桥接

实际上docker也可以不使用docker0网卡,可以创建虚拟网卡,桥接使用

 比如使用macvlan网络桥接

kube

kube实际上并不定义容器,通过接口调用容器接口,启动容器,kube默认创建pause容器(定义了网络),默认就是bridge网络,其他容器,比如初始化容器,伴生容器,应用容器都是container模式运行的。

总结

实际上kube就是容器的管理器,核心思想是调度,调度就需要网络、流量治理能力(kube目前薄弱环节),就出现了各种网络方案,istio等。容器的核心网络在kube是pause容器创建的,其他容器通过container沿用网络方案,即一个POD。

相关内容

热门资讯

订婚仪式来宾代表讲话稿 订婚仪式来宾代表讲话稿(精选20篇)  在快速变化和不断变革的今天,需要使用讲话稿的情境愈发增多,讲...
一年级语文看菊花说课稿 人教版一年级语文看菊花说课稿  一、教材分析与处理  《看菊花》是国标本小学语文第一册第三单元的最后...
迎新晚会主持稿 迎新晚会主持稿  在现在社会,我们都可能会用到主持稿,主持稿一般由开场白、中间部分与结束语组成。如何...
年会串词稿 年会串词稿  一、串词的写法  串词以主题为线索,自成一线,不管照游离于主题之外的节目。  一般来说...
《天净沙·秋思》的说课稿 《天净沙·秋思》的说课稿范文  作为一名默默奉献的教育工作者,有必要进行细致的说课稿准备工作,借助说...
安塞腰鼓说课稿 安塞腰鼓说课稿  作为一位无私奉献的人民教师,往往需要进行说课稿编写工作,编写说课稿是提高业务素质的...
初中感恩的国旗下讲话稿 初中关于感恩的国旗下讲话稿范文(精选3篇)  在当今社会生活中,我们越来越需要讲话稿,讲话稿可以起到...
初中语文评课稿 初中语文评课稿范文(通用12篇)  评课是指评者对照课堂教学目标,对教师和学生在课堂教学中的活动以及...
山中访友说课稿 山中访友说课稿  作为一名老师,编写说课稿是必不可少的,是说课取得成功的前提。说课稿应该怎么写呢?下...
五年级下册分数除法二说课稿 五年级下册分数除法二说课稿  作为一名默默奉献的教育工作者,时常会需要准备好说课稿,说课稿有利于教学...
说课稿基本格式 说课稿基本格式  作为一名为他人授业解惑的教育工作者,有必要进行细致的说课稿准备工作,借助说课稿可以...
二年级数学倍的认识说课稿 二年级数学倍的认识说课稿  作为一名教学工作者,总归要编写说课稿,说课稿有助于提高教师理论素养和驾驭...
杠杆说课稿 关于杠杆说课稿  在教学工作者实际的教学活动中,编写说课稿是必不可少的,借助说课稿可以有效提升自己的...
《一去二三里》说课稿 《一去二三里》说课稿《一去二三里》说课稿1  我说课的内容是九义人教版课标教材一年级上册识字教学的第...
发言稿的格式 发言稿的格式  什么是发言稿?  发言稿是参加会议者为了在会议或重要活动上表达自己意见、看法或汇报思...
《将心比心》的说课稿 《将心比心》的说课稿  作为一名教师,有必要进行细致的说课稿准备工作,借助说课稿我们可以快速提升自己...
法制安全教育讲话稿 法制安全教育讲话稿(精选26篇)  在不断进步的社会中,我们很多时候都不得不用到讲话稿,讲话稿是讲话...
小班社会教育活动《我会过马路... 小班社会教育活动《我会过马路》说课稿  作为一名专为他人授业解惑的人民教师,常常要写一份优秀的说课稿...
校长讲话稿 校长讲话稿(合集15篇)  在不断进步的时代,我们用到讲话稿的地方越来越多,讲话稿可以起到整理讲话者...
《静夜》说课稿 《静夜》说课稿《静夜》说课稿1  一.说教材  教材地位:《静夜》安排在七年级上册第六单元的一首具有...