为了账号安全,请及时绑定邮箱和手机立即绑定

『中级篇』容器网络之host和none(29)

前几节主要说的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,了解他们的之间的区别。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
1.7万
获赞与收藏
1318

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消