使用主机网络

如果host对容器使用网络驱动程序,则该容器的网络堆栈不会与Docker主机隔离。例如,如果您运行绑定到端口80 host的容器并使用网络,则容器的应用程序将在主机IP地址的端口80上可用。

主机网络驱动程序仅适用于Linux主机,并且不支持Docker for Mac,Docker for Windows或Docker EE for Windows Server。

在Docker 17.06及更高版本中,您还可以host通过传递--network hostdocker container create命令将网络用于群组服务。在这种情况下,控制流量(与管理群集和服务相关的流量)仍然通过覆盖网络发送,

但各个群集服务容器使用Docker守护程序的主机网络和端口发送数据。这会产生一些额外的限制。例如,如果服务容器绑定到端口80,则只有一个服务容器可以在给定的swarm节点上运行。

如果您的容器或服务未发布端口,则主机网络无效。

使用主机网络进行联网

本系列教程介绍了直接绑定到Docker主机网络的网络独立容器,没有网络隔离。有关其他网络主题,请参阅概述

目标

本教程的目标是启动一个nginx的容器直接绑定到Docker主机上的80端口 。从网络的角度来看,这是相同的隔离级别,就好像nginx进程直接在Docker主机上而不是在容器中运行一样。但是,在所有其他方式(例如存储,进程命名空间和用户命名空间)中,nginx进程与主机隔离。

先决条件

  • 此过程要求端口80在Docker主机上可用。要使Nginx侦听其他端口,请参阅图像的 文档nginx

  • host网络驱动程序仅适用于Linux主机和Windows,或Windows Server泊坞EE不支持多克的Mac,码头工人。

程序

  1. 创建并启动容器作为分离进程。该--rm选项意味着一旦退出/停止就移除容器。该-d标志表示启动容器分离(在后台)。

  

[root@docker11 ~]# docker run --rm -d --network host --name my_nginx nginx
  1. 通过浏览到http:// localhost:80 /来访问Nginx 。 因为docker容器与主机网络是共享的,所以可以直接用宿主机的ip加80端口直接访问。

  

  

  3.使用以下命令检查网络堆栈:

  • 检查所有网络接口并验证是否未创建新接口。  

ip addr show

  使用该netstat命令验证哪个进程绑定到端口80 。您需要使用,sudo因为该进程由Docker守护程序用户拥有,否则您将无法看到其名称或PID。

  4.停止容器。它将在使用该--rm选项启动时自动删除。

[root@docker11 ~]# docker stop my_nginx
my_nginx

docker从零开始网络(四 ) host网络的更多相关文章

  1. Docker网络——单host网络

    前言 前面总结了Docker基础以及Docker存储相关知识,今天来总结一下Docker单主机网络的相关知识.毋庸置疑,网络绝对是任何系统的核心,他在Docker中也占有重要的作用.同样本文基于Clo ...

  2. docker从零开始(四)集群初体验,docker-machine swarm

    介绍 在第三节中,选择了第二节中编写的应用程序,并通过将其转换为服务来定义它应如何在生产中运行,并生成五个应用实例 在本节中,将此应用程序部署到群集上,在多台计算机上运行它.多容器,多机应用程序通过连 ...

  3. [转帖]Docker四种网络模式

    Docker(十四)-Docker四种网络模式 https://www.cnblogs.com/zhuochong/p/10069293.html 计算机网络相关的知识 非常有用.. Docker 安 ...

  4. none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)

    本章开始讨论 Docker 网络. 我们会首先学习 Docker 提供的几种原生网络,以及如何创建自定义网络.然后探讨容器之间如何通信,以及容器与外界如何交互. Docker 网络从覆盖范围可分为单个 ...

  5. Docker(十四)-Docker四种网络模式

    Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: none模式,使用--net=none指定,该模式关闭了容器的网络功能. host模式 ...

  6. none 和 host 网络的适用场景

    我们会首先学习 Docker 提供的几种原生网络,以及如何创建自定义网络.然后探讨容器之间如何通信,以及容器与外界如何交互. Docker 网络从覆盖范围可分为单个 host 上的容器网络和跨多个 h ...

  7. 网络-Docker 提供的几种原生网络和自定义网络(11)

    Docker 网络从覆盖范围可分为单个 host 上的容器网络和跨多个 host 的网络,本章重点讨论前一种 Docker 安装时会自动在 host 上创建三个网络,我们可用 docker netwo ...

  8. [docker]docker的四种网络方式

    声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! bridge方式(默认) H ...

  9. Docker:容器的四种网络类型 [十三]

    一.None类型 简介:不为容器配置任何网络功能,--net=none 1.创建容器 docker run -it --network none busubox:latest 2.功能测试 [root ...

随机推荐

  1. perf原理再看

    vim ./arch/x86/kernel/hw_breakpoint.c perf如何控制采样的频率 perf采样不同的事件,得到的不是一样 cycles: 向PMU中增加不同的函数,增加不同 使用 ...

  2. SRM707 div1 MultiplyAddPuzzle

    题目大意:给定4个数,s,t,a,b 每次可以将s加a或者乘b,问最少多少次可以得到t 做法:考虑最后的形式,肯定是s*b^n + a*f(b),f(b)是关于b的多项式 那么b乘多少次实际上是可以知 ...

  3. C++——类继承以及类初始化顺序

    对于类以及类继承, 几个主要的问题:1) 继承方式: public/protected/private继承. 这是c++搞的, 实际上继承方式是一种允许子类控制的思想. 子类通过public继承, 可 ...

  4. 如何实现加载DOM时执行js代码

    有一些功能需求,需要在DOM载入时马上执行一些函数,但又不愿意仅为了这一个需求而引入整个JQuery库,于是就把jQuery的方法提取出来,单独使用了. 大家可以使用windows.onload事件, ...

  5. LaTeX的图片插入及排版[转]

    LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件. UNIX下的各种应用软件都 ...

  6. MySQL里执行SHOW INDEX结果中Cardinality的含义

    今天在写一个Perl脚本,想自动化查找出MySQL数据库中可能无效的索引,于是根据朝阳的书上提到的一些规则,我来设计了一些判断方法,其中发现某个我想要的值就是SHOW INDEX FROM table ...

  7. codeforces 1015C

    C. Songs Compression time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. TCP ------ keep-alive - 判断TCP链路的连接情况

    TCP 是面向连接的 , 在实际应用中通常都需要检测对端是否还处于连接中.如果已断开连接,主要分为以下几种情况: 1.           连接的对端正常关闭,即使用 closesocket 关闭连接 ...

  9. HTML5 视频直播

    目前视频直播,尤其是移动端的视频直播已经火到不行了,基本上各大互联网公司都有了自己的直播产品,所以对于直播的一些基本知识和主要技术点也要有所了解,本次分享就向大家介绍一下其中的奥秘. 内容大体框架:  ...

  10. TCP之close_wait

    TCP之close_wait 浏览:3697次  出处信息 /* * @author: ahuaxuan * @date: 2010-4-30 */ 查看各状态连接数: netstat -n | aw ...