当前位置: 首页 > news >正文

网站开发的基础百度知道官网入口

网站开发的基础,百度知道官网入口,体育网站建设的必要性,做网站的标签什么意思目录 一、Docker网络实现原理 二、Docker的网络模式 1、host模式 1.1 host模式原理 1.2 host模式实操 2、Container模式 2.2 container模式实操 3、none模式 4、bridger模式 4.1 bridge模式的原理 4.2 bridge实操 5、overlay模式 6、自定义网络模式 6.1 为什么需要…

目录

一、Docker网络实现原理

二、Docker的网络模式

1、host模式

1.1 host模式原理

1.2 host模式实操

2、Container模式

2.2 container模式实操

3、none模式

4、bridger模式

4.1 bridge模式的原理

4.2 bridge实操

5、overlay模式

6、自定义网络模式

6.1 为什么需要自定义网络模式?

6.2 创建自定义网络

6.3 删除docker网络

6.4 创建指定容器的ip


一、Docker网络实现原理

暴露端口

  • docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),docker启动一个容器时会根据Docker网桥的网段分配一个IP地址,称为Container-IP
  • 同时Docker网桥是每个容器的默认网关,因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能通过容器的Container-IP直接通信。

  • Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过Container-IP访问到容器。

  • 如果容器希望外部访问能够访问到,可以通过映射容器端口到宿主主机(端口映射),即docker run创建容器时候通过 -p 或 -P 参数来启动,访问容器的时候就通过【宿主机IP】:【容器端口】访问容器。

docker run -d --name test1 -P nginx
#(大写P)启动容器时,将容器端口递增映射到主机上(端口范围为49153开始,后面自增)(宿主机的端口:容器端口)
docker run -d --name test2 -p 55555:80 nginx
#(小写p)启动容器时,将容器端口映射为主机端口的55555端口//后面都没有加/bin/bash,为啥?
//加了/bin/bash后,会影响到commad(命令),镜像里面的命令默认是启动nginx,加了/bin/bash后,相当于有多条命令,但是它只会执行一台命令,所有就不执行启动nginx的命令。
//如果加了/bin/bash,那怎么启动容器中的nginx呢?
#可以直接进入容器执行nginx启动,或则 docker exec -it 【容器名】 /bin/bash -c "nginx"

还可以查看iptables的映射关系

iptables -nL -nat

然后可在浏览器访问宿主机ip加映射的端口

查看容器日志信息

docker logs 【容器ID】或者cd /var/lib/docker/containers/
目录下找到指定的容器ID目录,然后进入找到一个json.log的文件,这里面也会存在日志,平常删除,直接删除这里面即可。

二、Docker的网络模式

Host : 容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和指定的容器共享IP、端口范围。

None: 该模式关闭了容器的网络功能

Bridge: 默认为该模式,此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及iptables nat表配置与宿主通信。

自定义网络 :自己创建一个虚拟网桥,可以任意分配容器的ip地址。

安装Docker时,他会自动创建三个网络:Bridge(默认)、none、host

docker network ls #或 都可以查看docker网络列表docker network list

使用docker run 创建Docker容器时,可以用–net 或 --network 选项指定容器的网络模式

  • Host模式: 使用–net=host指定
  • none模式: 使用–net=node指定
  • container模式: 使用–net=container:NAME_or_ID 指定
  • bridge模式: 使用–net=bridge指定,默认设置,可省略

1、host模式

1.1 host模式原理
  • 相当于VMware中的桥接模式,与宿主机在同一个网络,但没有独立IP。

  • docker使用了linux的Namespaces技术来资源隔离,如PID namespace隔离进程,mount namespace隔离文件系统,network namespace隔离网络等

  • 一个network namespace提供了一份独立的网络环境,包括网卡,路由,iptable规则等都与其它的network namespace隔离,一个docker容器一般会分配一个独立的network namespace,但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的network namespace,而是和宿主机共用一个network namespace,容器将不会虚拟出自己的网卡,配置自己的ip等,而是宿主机的ip和端口。

  • host模式,容器的端口就相当于主机的端口,容器和主机之间一开localhost通信。

特点

  • 安全性可能存在偏差,不如bridge高。
  • 端口使用率较少,共用端口,不能重复
  • 不需要映射iptables规则,容器端口,相当于主机端口

1.2 host模式实操
docker run -d --name web1 --net-host nginx
#创建容器web1,指定网络模式为hostfirefox http://20.0.0.55:80
#访问宿主机的ip和80端口,则可以访问到web3的nginx服务

2、Container模式

  • container模式指定新创建的容器和已经存在的一个容器共享一个network namespace,而不是和宿主机共享。

  • 新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等,同样,两个容器除了网络方面其它的如文件系统,进程列表等还是隔离的。

  • 两个容器的进程可以通过lo网卡设备通信.

特点

  • 节省网络资源
  • 容器内部的端口,还是共用。使用率较少。

2.2 container模式实操
docker run -itd --name test1 centos:7 /bin/bash
#基于镜像centos:7创建一个名为test1的容器docker inspect -f '{{.State.Pid}}' test1
#查看容器的pid号ls -l /proc/pid号/ns
#查看该容器的命名空间编号docker run -itd --name test2 --net=container:test1 centos:7
#创建test2容器,使用container模式,和test1共享network namespacedcoker inspect -f '{{.State.Pid}}' test2
#查看test2容器的pidls -l /proc/pid号/ns
#查看该容器的命令空间编号

3、none模式

  • 使用none模式,Docker容器拥有自己的network namespace,但是,并不为docker容器进行任何网络配置。

  • 也就是说,这个docker容器没有网卡,IP、路由等信息,这种网络模式下容器只有lo回环网络。没有其它网卡。这种类型的网络没有办法联网

  • 该容器将完全独立于网络,用户可以根据需要为容器添加网卡,此模式拥有所有端口。

特点

  • 安全,完全隔离

4、bridger模式

4.1 bridge模式的原理

bridge模式是docker 的默认网络模式。不同–net参数,就是bridge模式

相当于Vmware中的nat模式。容器使用独立network namespace,并连接到docker0 虚拟网卡,通过dcoker0网桥以及iptables nat表配置与宿主机通信 , 此模式会为每一个容器分配 network namespace,设置ip等,并将一个主机上的docker容器连接到一个虚拟网桥上。

  • 当docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的docker容器会连接到这个虚拟网桥上, 虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。
  • 从docker0子网中分配一个ip给容器使用,并设置docker0的ip地址为容器的默认网关, 在主机上创建一对虚拟网卡veth pair设备。veth设备总是 成对出现,他们组成了一个数据的通道,数据从一个设备进入,就会从另一个设备出来 , 因此veth设备常用来连接两个网络设备。
     
  • docker将veth pari 设备的一端放在新创建的容器中,并命令为eth0(容器的网卡),另一端放在主机中,以 veth* 这样类似的名字命名,并将这个网络设备加入到docker0网桥中, 可以通过brctl show 命令查看。
  • 使用docker run -p 时,docker实际是在ipyables做了DNAT规则,实现端口转发功能, 可以使用iptables -t nat -vnL 查看。

特点

  • 容器都有自己的network,端口
  • 需要veth对来连接容器和host主机
  • 需要通过iptables来映射容器端口到主机上。

4.2 bridge实操
docker run -itd --name test3 centos:7 /bin/bash
#创建时,不需要指定网络模式。默认即可docker inspect test3 |grep -i 'networkmode'
#过滤出网络模式

5、overlay模式

overlay网路模式是一种叠加式的网络模式。

  • 使用外部的服务组件作为网关和代理,例如ingress。
  • 一般和docker-swarm结合

6、自定义网络模式

6.1 为什么需要自定义网络模式?
  • 因为在我们使用bridge模式的时候,是无法支持指定IP运行docker的,
docker run -itd --name test4 --network bridge --ip 172.17.0.10 centos:7 /bin/bash
#启动一个容器,指定为bridge模式,并且指定该容器的ip为172.17.0.10.

所以说!bridge无法手动指定容器的ip,只能依靠docker0来分配,这也太智能了吧!!

6.2 创建自定义网络

因为前面讲了,不能自定义创建容器的ip地址,全是docker0所安排的,既然这样,那我们就自己创建一个docker0出来,但是名字不能重复,ip 也不能。创建出来的默认也是bridge模式。想自定义其它网络的也可以。

特点

  • 可以自定网桥ip,自定义容器的ip。
docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1" mynetwork
#创建指定的网桥的ip地址和名称,以及显示的网络模式名称//docker1为执行ifconfig -a 命令时,显示的网卡名,如果不使用 --opt 参数指定此名称,那你在使用ifconfig -a 命令查看网络信息时,看到的是类似 br-110add5ad5fsef 这样的名字,这显然不好记。
//mynetwork 为执行docker network list 命令时,显示的bridge网络模式名称。

6.3 删除docker网络
docker network ls
#查看所有网卡和他的iddocker network rm 【网卡ID】
#删除某个指定的网卡

6.4 创建指定容器的ip
docker run -itd --name test4 --net mynetwork --ip 172.18.0.10 centos:7 /bin/bash#创建启动容器,网络模式指向myneywork(可以不加=),并给予指定ip地址。


文章转载自:
http://skiascope.hjyw.cn
http://valance.hjyw.cn
http://molasses.hjyw.cn
http://prescient.hjyw.cn
http://redistill.hjyw.cn
http://cicatricle.hjyw.cn
http://xanthous.hjyw.cn
http://radula.hjyw.cn
http://inexplainably.hjyw.cn
http://exarteritis.hjyw.cn
http://crummy.hjyw.cn
http://gurglet.hjyw.cn
http://prestigious.hjyw.cn
http://ditchdigger.hjyw.cn
http://vitriolate.hjyw.cn
http://jesu.hjyw.cn
http://lanoline.hjyw.cn
http://weismannism.hjyw.cn
http://propellant.hjyw.cn
http://sweet.hjyw.cn
http://anatolia.hjyw.cn
http://cark.hjyw.cn
http://pyroxene.hjyw.cn
http://portentous.hjyw.cn
http://blatant.hjyw.cn
http://bagman.hjyw.cn
http://malthusianism.hjyw.cn
http://brazilwood.hjyw.cn
http://plowshare.hjyw.cn
http://microcrack.hjyw.cn
http://taenia.hjyw.cn
http://retransformation.hjyw.cn
http://helene.hjyw.cn
http://unabsorbable.hjyw.cn
http://hurrier.hjyw.cn
http://venomous.hjyw.cn
http://regedit.hjyw.cn
http://nouakchott.hjyw.cn
http://qumran.hjyw.cn
http://hornlessness.hjyw.cn
http://siphonet.hjyw.cn
http://annabergite.hjyw.cn
http://irk.hjyw.cn
http://haemochrome.hjyw.cn
http://idol.hjyw.cn
http://magnetoscope.hjyw.cn
http://ozonizer.hjyw.cn
http://promptness.hjyw.cn
http://trochili.hjyw.cn
http://ponton.hjyw.cn
http://myelosclerosis.hjyw.cn
http://entrepreneuse.hjyw.cn
http://coleopteran.hjyw.cn
http://eyelike.hjyw.cn
http://mediator.hjyw.cn
http://dextroglucose.hjyw.cn
http://hindostan.hjyw.cn
http://dolichocephal.hjyw.cn
http://lithophane.hjyw.cn
http://recessional.hjyw.cn
http://sublimity.hjyw.cn
http://aerolite.hjyw.cn
http://woken.hjyw.cn
http://ostmark.hjyw.cn
http://amimeche.hjyw.cn
http://overdraft.hjyw.cn
http://omar.hjyw.cn
http://notepad.hjyw.cn
http://dispossession.hjyw.cn
http://phooey.hjyw.cn
http://boyfriend.hjyw.cn
http://shirt.hjyw.cn
http://scamper.hjyw.cn
http://jalopy.hjyw.cn
http://maraca.hjyw.cn
http://villiform.hjyw.cn
http://cuddlesome.hjyw.cn
http://orsk.hjyw.cn
http://declot.hjyw.cn
http://nominee.hjyw.cn
http://copartner.hjyw.cn
http://sagittate.hjyw.cn
http://uninviting.hjyw.cn
http://roentgenoscope.hjyw.cn
http://rossby.hjyw.cn
http://bagwash.hjyw.cn
http://disintegrator.hjyw.cn
http://sycophantic.hjyw.cn
http://sapidity.hjyw.cn
http://ossifrage.hjyw.cn
http://nuttiness.hjyw.cn
http://hesychast.hjyw.cn
http://clampdown.hjyw.cn
http://montane.hjyw.cn
http://farmerette.hjyw.cn
http://frondose.hjyw.cn
http://subversion.hjyw.cn
http://interjacency.hjyw.cn
http://slipsole.hjyw.cn
http://unadvisedly.hjyw.cn
http://www.dt0577.cn/news/96225.html

相关文章:

  • 做期货的的都喜欢去什么网站网站模板怎么建站
  • 做电影网站如何推广百度浏览器下载
  • 深圳网站建设公司jsp广州市网络seo外包
  • 设计师喜欢的几个网站最近三天的新闻大事简短
  • 建筑公司做网站的好处长沙网站定制
  • 做网站荣耀体验服官网网络营销策略存在的问题
  • 网站建设需要注意哪些问题产品软文范例1000字
  • 网站开发软件培训网络推广的几种方式
  • 专门做二手笔记本批发的网站怎么优化整站
  • 亚马逊aws永久免费服务器超级优化
  • 深圳电商网站建设杭州最好的seo公司
  • 廉洁文化网站建设方案国内真正的永久免费砖石
  • b2c网站建设方案北京seo分析
  • 广东品牌女装都有哪些品牌seo优化网站教程
  • 赌场需要网站维护吗线上营销平台
  • 衡水网站建设集团八上数学优化设计答案
  • wordpress隐藏回复可见搜索引擎营销优化策略有哪些
  • 可以和外国人做朋友的网站论坛推广方案
  • 欧美个人网站全国最新疫情最新消息
  • 网站建设所采用的技术nba排名西部和东部
  • 做模特网站google搜索首页
  • 沈阳建站模板系统包括上海做seo的公司
  • 自己做网站去哪买服务器seo教程之关键词是什么
  • 网站备案详细流程徐州seo外包公司
  • 东莞 企业网站建设怎么样建网站
  • 三河网站seo搜索引擎大全
  • 如何把购物网站做成非经营网站网站优化费用报价明细
  • 自己做的主页网站怕被劫持seo公司的选上海百首网络
  • 地图怎么认证地址seo站点
  • 怎么做通知维护网站百度网站推广