docker容器联网问题

写在前面
  • Docker 容器访问互联网,一直通过--net=host 参数间接实现。该方式存在弊端,因为该模式禁用Docker容器的网络隔离。容器共享宿主机的网络命名空间,直接暴露在公共网络中,即容器和宿主机具有相同的IP地址。
  • 很多实验操作在容器内部,联网对于安装、更新必要软件至关重要。
  • --net=host 参数对于很多大数据平台镜像产生副作用,例如无法正常启动等
  • 启用宿主机路由,解决问题
启用命令
  • 宿主机的ip路由转发功能一定要打开,否则所创建的容器无法联网!
  • 容器run后运行下面命令也有效
  • 墙裂推荐
echo 1 > /proc/sys/net/ipv4/ip_forward
  • --net=host 参数使用
docker run --privileged -tid -p 8000:8000 -p 8088:8088 -p 8042:8042 -p 50070:50070 --net=host limengjiao029/hive:v0.1
参考文章
博文小结
  • 个人研究不太深入。例对docker容器网络通信方面,个人知识盲点,存在--net=host参数可用方案,自然懒得去探索其他方案。
  • 可用方案不能满足最近实验要求,所以探索其他替代方案。通过开启宿主机路由转发方案确实方便、高效;换在之前的实验,可以实验效率将会大大提高。
  • 该问题困扰博主些许时日,可能看起来简单,但个人认为很有必要记录下。
    • 另,针对有时间的读者,建议学习下推荐的第 2 篇 参考文章,掌握下网络通信相关知识
  • 谢谢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言析数智

创作不易,感谢客官的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值