docker容器技术学习笔记(5、容器网络)

作者 : 开心源码 本文共1362个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共131人阅读

Docker 网络

Docker 安装时会自动在 host 上创立三个网络,我们可使用 docker network ls 命令查看:

NETWORK ID          NAME                DRIVER              SCOPE145ad1eae556        bridge              bridge              local9bfdab5aff70        host                host                local9c2a17659cb7        none                null                local

none 网络

故名思议,none 网络就是什么都没有的网络。挂在这个网络下的容器除了 lo,没有其余任何网卡。容器创立时,可以通过 –network=none 指定用 none 网络。

少量对安全性要求高并且不需要联网的应使用可以用 none 网络。比方某个容器的唯一使用途是生成随机密码,即可以放到 none 网络中避免密码被窃取。

host 网络

连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样。可以通过 –network=host 指定用 host 网络。

直接用 Docker host 的网络最大的好处就是性能,假如容器对网络传输效率有较高要求,则可以选择 host 网络。当然不便之处就是牺牲少量灵活性,比方要考虑端口冲突问题,Docker host 上已经用的端口就不能再使用了。

Docker host 的另一个使用途是让容器可以直接配置 host 网路。比方某些跨 host 的网络处理方案,其本身也是以容器方式运行的,这些方案需要对网络进行配置,比方管理 iptables。

应使用最广泛也是默认的 bridge 网络

Docker 安装时会创立一个 命名为 docker0 的 linux bridge。假如不指定–network,创立的容器默认都会挂到 docker0 上。可以通过 docker network inspect bridge 看一下 bridge 网络的配置信息。

容器网络拓扑结构如图所示:

容器创立时,docker 会自动从 172.17.0.0/16 中分配一个 IP,这里 16 位的掩码保证有足够多的 IP 可以供容器用。

user-defined 网络

Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan。overlay 和 macvlan 使用于创立跨主机的网络。

  • bridge 驱动创立

bridge 驱动创立相似前面默认的 bridge 网络

docker network create --drive bridge my_net

查看新添加网桥

brctl show 名称为新建 bridge 网络 my_net 的短 id

执行 docker network inspect 查看一下 my_net 的配置信息。

创立网段时指定 –subnet 和 –gateway 可以指定 IP 网段。

docker network create --drive bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net2网关在 my_net2 对应的网桥上

容器要用新的网络,需要在启动时通过 –network 指定:

docker run -it --network=my_net2 busybox

通过–ip 容器指定一个静态 IP:

docker run -it --network=my_net2 --ip=172.22.16.8 busybox注:只有用 --subnet 创立的网络才能指定静态 IP。

当前 docker host 的网络拓扑结构:

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » docker容器技术学习笔记(5、容器网络)

发表回复