你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
tuxknight
赞同来自: 陈柏 、glovee 、hello_liuyi 、AKAK 、kazaff
MapleWang
赞同来自: hello_liuyi 、psl77586 、kazaff
小明的一天的秘密2
赞同来自:
要回复问题请先登录或注册
3 个回复
tuxknight
赞同来自: 陈柏 、glovee 、hello_liuyi 、AKAK 、kazaff
不知道你看过docker run这个命令的文档没,
--net 有 none bridge host container 四种,没有你说的-p映射。
bridge是默认的方式,而且跟你理解的不一样,docker会在host上创建一个网桥设备一般被命名为docker0,在docker run --net bridge的时候,为container创建一个对等接口(peer interface),对等接口的一端加到docker0中,另一端就是container里的eth0。
这样的结果就是同一个host上的container组成了一个与host不冲突的子网。通过NAT的方式与外部通信。
另外,对于IP地址浪费的问题,,私网IP段的容量可不是闹着玩的,A类私网在企业中绝对够你用的。。
MapleWang
赞同来自: hello_liuyi 、psl77586 、kazaff
host模式为什么不安全?bridge为什么又安全了呢?这个是不能这么下结论的,完全取决于你怎么使用它们。docker默认都是使用iptables/netfilter去对ip stack中的包进行处理的,bridge模式下,docker会在iptables中添加规则使得外部不能访问container内部网络,除非container对外映射端口,docker会添加额外规则来放行这些流量,这也许是你觉得它安全的原因,但是host和bridge模式下container都是使用同一个kernel的,所以host模式下你当然可以自己去配置iptables规则来保证网络的安全,当然这个过程是要自己完成的。我见过很多生产环境都是使用host模式的,因为它们的目的是对应用进程及其相应的环境进行隔离,便于运维(比如升级),但是对于网络要求统一管理,所以自然而然使用了host模式。所以生产环境中具体使用什么模式完全取决于部署的需求,没有什么绝对的配置。
另外,bridge模式下,你如果默认使用的是docker0, container的ip网段和宿主机肯定是不同的,上面已经有人解释清楚了这个问题。
小明的一天的秘密2
赞同来自:
同求答案。。。。