如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)
除了 none, host, bridge 这三个自动创建的网络,用户也可以根据业务需要创建 user-defined 网络。
Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan。overlay 和 macvlan 用于创建跨主机的网络,我们后面有章节单独讨论。
我们可通过 bridge 驱动创建类似前面默认的 bridge 网络,例如:
查看一下当前 host 的网络结构变化:
新增了一个网桥 br-eaed97dc9a77
,这里 eaed97dc9a77
正好新建 bridge 网络 my_net
的短 id。执行 docker network inspect
查看一下 my_net
的配置信息:
这里 172.18.0.0/16 是 Docker 自动分配的 IP 网段。
我们可以自己指定 IP 网段吗?
答案是:可以。
只需在创建网段时指定 --subnet
和 --gateway
参数:
这里我们创建了新的 bridge 网络 my_net2
,网段为 172.22.16.0/24,网关为 172.22.16.1。与前面一样,网关在 my_net2
对应的网桥 br-5d863e9f78b6
上:
容器要使用新的网络,需要在启动时通过 --network
指定:
容器分配到的 IP 为 172.22.16.2。
到目前为止,容器的 IP 都是 docker 自动从 subnet 中分配,我们能否指定一个静态 IP 呢?
答案是:可以,通过--ip
指定。
注:只有使用 --subnet
创建的网络才能指定静态 IP。
my_net
创建时没有指定 --subnet
,如果指定静态 IP 报错如下:
好了,我们来看看当前 docker host 的网络拓扑结构。
下一节讨论这几个容器之间的连通性。
相关文章
- 图解 Docker 架构,还有谁不会?
- 银行用户眼中的Docker容器技术
- 容器技术反例:哪些不适合利用Docker实现?
- 【Docker】命令 rename
- 用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)
- 环境变量方式使用 Secret - 每天5分钟玩转 Docker 容器技术(158)
- k8s 重要概念 - 每天5分钟玩转 Docker 容器技术(117)
- 什么是 stack?- 每天5分钟玩转 Docker 容器技术(111)
- 通过案例学习 Secret - 每天5分钟玩转 Docker 容器技术(110)
- 用 Label 控制 Service 的位置 - 每天5分钟玩转 Docker 容器技术(106)
- 神奇的 routing mesh - 每天5分钟玩转 Docker 容器技术(100)
- ELK 完整部署和使用 - 每天5分钟玩转 Docker 容器技术(90)
- 准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)
- 跨主机网络概述 - 每天5分钟玩转 Docker 容器技术(48)
- 外部世界如何访问容器? - 每天5分钟玩转 Docker 容器技术(37)
- 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
- 理解容器之间的连通性 - 每天5分钟玩转 Docker 容器技术(34)
- none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
- 两种进入容器的方法 - 每天5分钟玩转 Docker 容器技术(23)
- Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)
- 加速和简化构建Docker(基于Google jib)
- 技术小白读docker,技术小牛谈“解放”
- docker:在mac和centOS上安装docker
- 关于Docker在树莓派上的5件事