Docker的网络基础知识点有哪些
这篇文章主要介绍“Docker的网络基础知识点有哪些”,在日常操作中,相信很多人在Docker的网络基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker的网络基础知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
docker提供几种网络,它决定容器之是以及外界和容器之间怎么样去通信。
可以通过如下方法查看docker的网络:
dockernetworkls
null:无网络,使用这种网络的容器会完全隔离
host:主机网络,使用这种网络的容器会使用主机的网络,这种网络对外界是完全开放的,能够访问到主机,就能访问到容器
bridge:桥接网络,除非创建容器的时候指定网络,否则容器默认使用桥接网络。属于这个网络的容器之间可以相互通信,不过外界想要访问这个网络的容器,需要使用桥接网络,有点儿像主机和容器之间的一座桥,对容器有一定的隔离作用
bridge网络查看bridge网络信息:
dockernetworkinspectbridge
会列出bridge网络的相关信息,containers表示使用了这网络的容器。
创建一个使用bridge网络的容器:
dockerrun-d--nameweb1--netbridgenginxnone网络
创建一个使用none网络的容器:
dockerrun-d--nameweb_none--netnonenginx
查看none网络信息:
dockernetworkinspectnonehost网络
创建一个使用host网络的容器:
dockerrun-d--nameweb_host-nethostnginx
可以看到该容器没有IP地址,因为它直接使用宿主机IP地址
端口如果想让外界可以访问到基于bridge网络创建的容器提供的服务,则必须要告诉docker要使用的端口。
可以通过如下方法查看镜像会使用哪些端口:
dockerinspectnginx|jq.[]."ContainerConfig"."ExposedPorts"端口绑定
在创建容器的时候可以指定这个容器的端口与主机端口的映射关系:
dockerrun-d--nameweb-p8888:80nginx
-p,–publis: 可以指定主机与容器的端口关系,冒号左边是主机的端口,右边是映射到容器中的端口
-P:该参数会分配镜像中所有的会使用的端口,并映射到主机上的随机端口
查看容器的端口情况:
dockerportweb
如果创建容器时,-p参数后面只一个指定端口,意思是主机会随机一个端口,映射到容器的该指定端口:
dockerrun-d--nameweb-p80nginx自定义网络
可以基于某一个类型的网络去创建一些自定义的网络,这样属于这个网络的容器就可以单独隔离出来,它们之间可以相互通信,而不在这个网络的容器就不能直接访问到它们。一个容器可以属于多个网络,同一个自定义网络下的容器可以通过各自的容器名访问到对方,因为会使用到docker内嵌的一个dns功能。
创建一个自定义网络:
dockernetworkcreate--driverbridgecustom#--driver用于指定网络类型
可以通过docker network ls 查看到新创建的custom网络相关信息,Subnet表示这个网络下的子网IP段,那么基于custom自定义网络创建的容器IP都会以该IP段开头。
基于custom网络创建容器:
dockerrun-d--nameweb2--netcustomnginx
如果想将已经创建的容器放到自定义网络中,使用如下指令:
dockernetworkconnectcustomweb
将web从bridge网络中移除:
dockernetworkdisconnectbridgeweb
到此,关于“Docker的网络基础知识点有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。