none 和 host 网络的适用场景 – 每天5分钟玩转 Docker 容器技术(31)
本章开始讨论 Docker 网络。
我们会首先学习 Docker 提供的几种原生网络,以及如何创建自定义网络。然后探讨容器之间如何通信,以及容器与外界如何交互。
Docker 网络从覆盖范围可分为单个 host 上的容器网络和跨多个 host 的网络,本章重点讨论前一种。对于更为复杂的多 host 容器网络,我们会在后面进阶技术章节单独讨论。
Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看:
下面我们分别讨论它们。
none 网络故名思议,none 网络就是什么都没有的网络。挂在这个网络下的容器除了 lo,没有其他任何网卡。容器创建时,可以通过 --network=none 指定使用 none 网络。
我们不禁会问,这样一个封闭的网络有什么用呢?
其实还真有应用场景。封闭意味着隔离,一些对安全性要求高并且不需要联网的应用可以使用 none 网络。
比如某个容器的唯一用途是生成随机密码,就可以放到 none 网络中避免密码被窃取。
当然大部分容器是需要网络的,我们接着看 host 网络。
host 网络连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样。可以通过 --network=host 指定使用 host 网络。
在容器中可以看到 host 的所有网卡,并且连 hostname 也是 host 的。host 网络的使用场景又是什么呢?
直接使用 Docker host 的网络最大的好处就是性能,如果容器对网络传输效率有较高要求,则可以选择 host 网络。当然不便之处就是牺牲一些灵活性,比如要考虑端口冲突问题,Docker host 上已经使用的端口就不能再用了。
Docker host 的另一个用途是让容器可以直接配置 host 网路。比如某些跨 host 的网络解决方案,其本身也是以容器方式运行的,这些方案需要对网络进行配置,比如管理 iptables,大家将会在后面进阶技术章节看到。
下一节讨论应用更广的 bridge 网络。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/53978.html
Dockeriptables相关文章
- WSL卸载docker失败解决方案
- 细说docker - 容器技术
- linux docker基本命令_如何进入docker
- Linux+MCSM9+Docker 搭建我的世界基岩版BDS服务器,MC基岩版开服教程
- docker安装fastdfs
- 使用 Docker 和 Traefik 搭建 GitLab(后篇)
- Docker服务的查看服务状态命令(systemctl status docker)
- Docker删除容器命令(docker rm)
- 「 【Docker】利用宝塔docker管理器搭建为知笔记(docker安装为知笔记) 」
- 【Docker 系列】docker 学习 五,容器数据卷
- 【Docker 系列】docker 学习八,Docker 网络
- 记录Docker使用过程中遇到的难点和问题
- 无需依赖 Docker 环境制作 Java 应用镜像
- 使用Docker安装Redis并配置成功(docker安装redis)
- 深入了解Docker背后的namespace技术
- 【Docker容器技术搭建Redis集群】(dockerredis)
- Docker 入门指南
- 数人云操作系统 2.0 发布 在企业实践中将 Docker 技术快速落地
- Docker-存储引擎管理
- macvlan网络隔离和连通–每天5分钟玩转Docker容器技术(57)
- 跨主机网络概述 – 每天5分钟玩转 Docker 容器技术(48)
- 创建 Machine – 每天5分钟玩转 Docker 容器技术(46)
- volume 生命周期管理 – 每天5分钟玩转 Docker 容器技术(44)
- 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)
- 学容器必须懂 bridge 网络 – 每天5分钟玩转 Docker 容器技术(32)
- Docker 将会取代 apt,就像 apt 之前取代 tar 那样
- “深入浅出”来解读Docker网络核心原理
- 【CI/CD技术专题】「Docker实战系列」使用Maven插件构建Docker镜像的方法