docker-网络

Posted huxl1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker-网络相关的知识,希望对你有一定的参考价值。

网络通信有几种

1 仅主机  host-only

2 nat  先给桥配个ip , 发起nat转发   iptables 配置snat规则 ,让其与外部通信

3 桥接 把物理网卡与桥做关联,物理网卡当桥

docker 网络有四种  默认为nat,自动安装创建的

1封闭式容器

2桥接式容器

3 联盟式容器 ,让两个容器之间共享一个ip

4开放式容器

#docker  network  bridge(桥接)

#docker  run  --name  h1  --rm  --net  bridge  -it  busybox

#docker   network   none  (表示封闭式的)

#docker  run  --name  c1  --rm   --net   none  busybox   -it

#docker  network  inspect  host  (host 表示宿主机的网络,表示开放式的)

4种创建一个联盟

先启动个容器

#docker  run  --name  h1  --rm  --net  bridge  -it  busybox

#docker  run  --name  h2   --rm   --net  container:h1  -it   busybox 

可以添加选项:

  -hostname  h1.magedu.com   添加主机名

      --dns   172.16.0.1   添加dns

      --add-host   h1.magedu.com:172.16.0.1  添加域名解析

 端口    把端口暴露出去

用法:

   1  -p  80

如docker run --name bbox3 -it -p 80 docker.io/busybox

docker   port  bbox3   查看80端口在宿主机上被映射为那个端口

技术分享图片

  2  -p  80:80   容器与宿主机都是80端口

  3   -p   172.16.0.71::80   基于那个ip的端口

  4    -p   172.16.0.71:80:80   

暴露多个端口:

  -p  80  -p  8080  -p 10080  或 –P  --expose  2222  --expose  3333

docker  network   网络管理命令

  list  

技术分享图片

create  创建一个 桥

#docker  network  create  -d  bridge  --subnet=172.31.0.0/16   --ip-range=172.31.0.0/16    --gateway=172.31.255.254   mybr0

技术分享图片

使用该桥:

docker  run  --name  c1  --rm   -it  --net  mybr0  busybox

docker  network  connect  bridge  c1     连接一新桥 这是容器会多一块网卡

docker  network   disconnect   bridge  c1    拆除连接的桥

 

以上是关于docker-网络的主要内容,如果未能解决你的问题,请参考以下文章

理解Docker:Docker 网络

云原生Docker09-Docker网络详解

docker容器网络

理解Docker:Docker 网络

Docker学习重点~Docker网络

Docker——Docker网络模式