docker网络模式

https://blog.csdn.net/qq_42770949/article/details/105283969

docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下5种网络模式:
bridge模式:使用–net =bridge指定,默认设置;
overlay模式:使用–net=overlay指定;
host模式:使用–net =host指定;
none模式:使用–net =none指定;
container模式:使用–net=container:指定容器名;

这里主要讲解bridge、overlay
bridge模式网络
bridge模式是Docker的默认设置,所以你也可以使用
docker run -d -P nginx:1.9.1。也可以
docker run -d -P –net=bridge nginx:1.9.1
如果你没有使用-P(发布该容器暴露的所有端口)或者-p
host_port:container_port(发布某个特定端口),IP数据包就不能从宿主机之外路由到容器中。

单一docker
网络模式4种:
docker run 创建 Docker 容器时,可以用 –net 选项指定容器的网络模式,Docker 有以下 4 种网络模式:
bridge 模式,使用 –net=bridge 指定,默认设置,可以不写。docker容器内的ip网络和宿主机ip是相通的。
host 模式,使用 –net=host 指定。这种方式是不安全,隔离良好的环境中(比如租户的虚拟机中)使用这种方式,问题不大。
container 模式,使用 –net=container:NAMEorID 指定。与被指定的容器,共用网络,网络完全相同。
none 模式,使用 –net=none 指定。完全没有网络,使用link联系。

集群docker(swarm)
网络模式5种:(多出一种overlay为自定义模式,是从其余和单一docker的4种网络模式中选择)
bridge模式:使用–network=bridge指定,默认设置,可以不写。docker容器内的ip网络和宿主机ip是相通的。
overlay模式(跨主机的网络通信):使用–network=overlay指定;
–endpoint-mode 有两种模式,一种是vip(默认),另一种是dnsrr,dnsrr模式下 -p参数是无效的,就是说其服务器是无法直接通过端口映射被外边访问的,如果想要被外边访问有两种方式:一种是使用浏览器代理,可参考https://5socks.net/Manual/browser_en.html ;另一种是使用类似nginx转发功能。

Original: https://www.cnblogs.com/andy9468/p/14808581.html
Author: 安迪9468
Title: docker网络模式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/534487/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球