『中级篇』容器网络之host和none(29)
2018-07-10 本文已影响12人
IT人故事会
前几节主要说的bridge network,在实际中bridge确实运用比较广泛,之前通过docker network ls 里面不光有bridge,还有host 和none,这次就说说这2个
查看network ls里面的网络类型
sudo docker network ls
#删除之前自定义的bridage
sudo docker network rm mybridge
sudo docker network ls
- 创建一个network none的容器
sudo docker run -d --name test5 --network none busybox /bin/sh -c "while true;do sleep 3600;done"
sudo docker network inspect none
sudo docker exec -it test5 /bin/sh
ip a
发现一个问题,test5它没有回管口,只有单独的一个lo口,这种none的也就自己通过exec的方式访问,其实还真有应用场景。封闭意味着隔离,一些对安全性要求高并且不需要联网的应用可以使用 none 网络。比如某个容器的唯一用途是生成密码,就可以放到 none 网络中避免密码被窃取。
- 创建一个network host的容器
sudo docker stop test5
sudo docker rm test5
sudo docker run -d --name test5 --network host busybox /bin/sh -c "while true;do sleep 3600;done"
#这个命令之后回发现跟none一样也是ipv4 和ipv6 都是"",没有对应的ip地址
sudo docker network inspect host
image.png
#进入到test5里面去看看效果
sudo docker exec -it test5 /bin/sh
#发现一个问题没有,在这个test5 里面的网络结构和外边的linux主机的网络结构是一样的
ip a
直接使用 Docker host 的网络最大的好处就是性能,如果容器对网络传输效率有较高要求,则可以选择 host 网络。当然不便之处就是牺牲一些灵活性,比如要考虑端口冲突问题,Docker host 上已经使用的端口就不能再用了。Docker host 的另一个用途是让容器可以直接配置 host 网路。比如某些跨 host 的网络解决方案,其本身也是以容器方式运行的,这些方案需要对网络进行配置,比如管理 iptables,大家将会在后面进阶技术章节看到。
PS : none 和host的网络基本也讲解完成了,他们各有利弊,其实用到最多的还是bridage,了解他们的之间的区别。
往期精彩
- docker导学(一)
- 容器的技术概述(二)
- docker的魅力初体验-5分钟安装wordpress不走弯路(三)
- docker官网介绍(四)
- 如何在mac上安装docker(五)
- 如何在window上安装docker(六)
- 如何在mac上通过vagrant安装虚拟机(七)
- 如何在window上通过vagrant安装虚拟机(八)
- docker-Machine的本地使用(九)
- docker-Machine的本地使用(十)
- 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
- docker架构和底层技术(12)
- docker Image概述(13)
- 手动建立一个base Image(14)
- 什么是Container(15)
- 构建自己的Docker镜像(16)
- Dockerfile详解(17)
- 镜像的发布(18)
- Dockerfile实战(19)
- 容器的操作(20)
- Dockerfile实战CMD和ENTRTYPOINT的配合(21)
- 容器的资源限制(22)
- docker网络(23)
- docker学习必会网络基础(24)
- Linux网络命名空间(25)
- Docker Bridge详解(26)
- 容器之间的Link(27)
- 容器的端口映射(28)