良许Linux教程网 干货合集 Docker的网络基础知识讲解

Docker的网络基础知识讲解

当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求,本篇文章为大家简单介绍一下Docker的网络基础知识

详解:Docker网络基础详解:Docker网络基础

网络

docker提供几种网络,它决定容器之是以及外界和容器之间怎么样去通信。

可以通过如下方法查看docker的网络:

docker network ls

null:无网络,使用这种网络的容器会完全隔离

host:主机网络,使用这种网络的容器会使用主机的网络,这种网络对外界是完全开放的,能够访问到主机,就能访问到容器

bridge:桥接网络,除非创建容器的时候指定网络,否则容器默认使用桥接网络。属于这个网络的容器之间可以相互通信,不过外界想要访问这个网络的容器,需要使用桥接网络,有点儿像主机和容器之间的一座桥,对容器有一定的隔离作用

bridge网络

查看bridge网络信息:

docker network inspect bridge

会列出bridge网络的相关信息,containers表示使用了这网络的容器。

创建一个使用bridge网络的容器:

docker run -d --name web1 --net bridge nginx

none网络

创建一个使用none网络的容器:

docker run -d --name web_none --net none nginx

查看none网络信息:

docker network inspect none

host网络

创建一个使用host网络的容器:

docker run -d --name web_host -net host nginx

可以看到该容器没有IP地址,因为它直接使用宿主机IP地址

端口

如果想让外界可以访问到基于bridge网络创建的容器提供的服务,则必须要告诉docker要使用的端口。

可以通过如下方法查看镜像会使用哪些端口:

docker inspect nginx | jq .[]."ContainerConfig"."ExposedPorts"

端口绑定

在创建容器的时候可以指定这个容器的端口与主机端口的映射关系:

docker run -d --name web -p 8888:80 nginx

-p,–publis: 可以指定主机与容器的端口关系,冒号左边是主机的端口,右边是映射到容器中的端口

-P:该参数会分配镜像中所有的会使用的端口,并映射到主机上的随机端口

查看容器的端口情况:

docker port web

如果创建容器时,-p参数后面只一个指定端口,意思是主机会随机一个端口,映射到容器的该指定端口:

docker run -d --name web -p 80 nginx

自定义网络

可以基于某一个类型的网络去创建一些自定义的网络,这样属于这个网络的容器就可以单独隔离出来,它们之间可以相互通信,而不在这个网络的容器就不能直接访问到它们。一个容器可以属于多个网络,同一个自定义网络下的容器可以通过各自的容器名访问到对方,因为会使用到docker内嵌的一个dns功能。

创建一个自定义网络:

docker network create --driver bridge custom    #--driver用于指定网络类型

可以通过docker network ls 查看到新创建的custom网络相关信息,Subnet表示这个网络下的子网IP段,那么基于custom自定义网络创建的容器IP都会以该IP段开头。

基于custom网络创建容器:

docker run -d --name web2 --net custom nginx

如果想将已经创建的容器放到自定义网络中,使用如下指令:

docker network connect custom web

将web从bridge网络中移除:

docker network disconnect bridge web

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部