docker 网络

目录

容器网络知识简介

容器的网络连接方式:

一、host 模式  (和宿主机一致)

二、container 模式  (和指定容器的ip一致)

三、none 模式 (无网络模式)

四、bridge 模式(默认的模式)


容器网络知识简介

docker服务启动以后就会在生成一个docker0虚拟网卡,类似网桥的功能,

veth对应的是每个容器的网卡。

docker 网络_第1张图片

可用iptables 查看规则,可见容器能够上网是因为宿主机创建了一系列的这些规则。

如果这些规则不存在,容器肯定是连不了网的。

iptables -nvL -t nat  

docker 网络_第2张图片

容器的网络连接方式:

一、host 模式  (和宿主机一致)

和宿主机共享一个网络。即宿主机查到的ip addr和容器里的ip addr是一样的。

内外显示的主机名hostname也会是一样的。

docker  run  -itd  --net=host  --name  "XXX"  镜像名   bash

可见容器内使用了和宿主机一样的hostname 。其他模式下容器内的hostname会是自己的容器ID。

二、container 模式  (和指定容器的ip一致)

该模式下,启动容器时,需要 指定容器ID或者name。

即,被启动的容器将会使用和指定的容器一样的网络,即他们的IP是一样的。

docker run  -itd  --net=container:/指定容器NAME  --name  “ XX ”   镜像名   bash

和指定容器使用一样的ip

docker 网络_第3张图片

三、none 模式 (无网络模式)

不需要网络的模式,容器内没有网卡

docker  run -itd =net=none --name XX  镜像名  bash

容器内只有回环网络,没有其他网卡

四、bridge 模式(默认的模式)

类似虚拟机的NAT模式。

没指定 --net 时候也会默认使用这种模式。

注意:这并不是代表会和宿主机使用一致的网络。

你可能感兴趣的:(容器,docker)