docker --net详解_Docker网络通信

Docker:网络模式详解 - Gringer - 博客园​www.cnblogs.com
b48da50e06b6b8d8f5b6aaf2690ba7bb.png

安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host

e3da5ebe164eed4f0ad96c955e433246.png

docker run创建Docker容器时,可以用 --net 选项指定容器的网络模式 :

host模式:使用 --net=host 指定。
none模式:使用 --net=none 指定。
bridge模式:使用 --net=bridge 指定,默认设置。
container模式:使用 --net=container:NAME_or_ID 指定

e2e7dc0edc6cf8d1f4f61c4477d0ea1c.png

f22868f4ec28eb8915111fe350298fd0.png

1b6fe985bb14d7c9a1aa696f5fca7cf3.png
启动docker engine后,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到
这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个
二层网络中。
从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡
veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡)
,另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。

[root@g15-6f-81-238 ~]# ifconfig
'''
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
'''

[root@g15-6f-81-238 ~]# docker inspect d1872d45b01d | grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.6",
            
为了实现上述功能,docker主要用到了linux的Bridge、Network Namespace、VETH (虚拟网卡的接口对 Virtual Enternet device)。
docker0网关就是通过Bridge实现的。
Network Namespace是网络命名空间,通过Network Namespace可以建立一些完全隔离的网络栈。
比如通过docker network create xxx就是在建立一个Network Namespace。
VETH是虚拟网卡的接口对,可以把两端分别接在两个不同的Network Namespace中,实现两个原本隔离的Network Namespace的通信。
所以总结起来就是:
    Network Namespace做了容器和宿主机的网络隔离,
    Bridge分别在容器和宿主机建立一个网关,
    然后再用VETH将容器和宿主机两个网络空间连接起来。

80c482d8727aeb322af680b22d133185.png
  • 16
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker Compose Windows x86_64是运行在Windows操作系统上的、基于x86_64架构的Docker Compose工具。它的主要作用是简化和自动化多个Docker容器的管理和部署过程。 与Docker Compose的Linux版本相比,Docker Compose Windows x86_64提供了更好的兼容性和性能,以满足在Windows环境下使用Docker的需求。 使用Docker Compose Windows x86_64,可以使用一个YAML文件定义多个Docker容器的配置和依赖关系。通过简单的命令行指令,可以执行各种操作,如构建、运行、停止和删除容器等。 Docker Compose Windows x86_64还允许在多个容器之间建立网络连接,以及通过容器之间的环境变量进行通信。这使得容器之间的协作和数据共享变得简单而高效。 Docker Compose Windows x86_64还支持通过Volumes功能将容器与宿主机的文件系统连接在一起,实现数据的持久化存储。 总结来说,Docker Compose Windows x86_64是一个强大的工具,它可以让开发人员在Windows操作系统上轻松管理和部署多个Docker容器,提供了简单、高效和可靠的容器化应用解决方案。无论是在单机环境还是生产环境中,使用Docker Compose Windows x86_64都可以显著提升开发效率和应用性能。 ### 回答2: docker-compose-windows-x86_64是Docker Compose的一个特定版本,适用于Windows操作系统的x86_64架构。Docker Compose是一个用于定义和管理多个Docker容器的工具,它允许我们使用一个简单的配置文件来定义所有容器的配置和依赖关系,并通过一条命令来启动、停止和管理这些容器。 与原始的Docker Compose相比,docker-compose-windows-x86_64专门针对Windows操作系统进行了优化和适配。它提供了对Windows特定功能的支持,例如使用Windows容器、挂载Windows文件共享和运行Windows服务等。此外,它还充分利用了x86_64架构的优势,以提供更好的性能和兼容性。 使用docker-compose-windows-x86_64,我们可以轻松地在Windows操作系统上创建复杂的多容器应用程序。我们只需要在配置文件中定义每个容器的镜像、环境变量、端口映射和容器间的依赖关系,然后通过运行一个命令来启动整个应用程序。docker-compose-windows-x86_64会自动下载所需的镜像,并在我们的电脑上创建和管理对应的容器。 总之,docker-compose-windows-x86_64是一个适用于Windows操作系统的Docker Compose工具的特定版本。它提供了对Windows特定功能的支持,并通过简单的配置文件和命令来管理多个Docker容器,让我们能够轻松地构建和管理复杂的多容器应用程序。 ### 回答3: docker-compose-windows-x86_64 是针对 Windows 平台的 Docker Compose 的安装包。Docker Compose 是 Docker 官方提供的一个用于定义和运行多个 Docker 容器的工具。通过编写一个 YAML 文件来定义容器之间的关系和依赖性,然后使用 Docker Compose 命令来启动、停止和管理这些容器。 Docker Compose 使得在开发和测试环境中部署多个容器变得更加简单。它能够自动创建和管理容器网络、卷和监控服务等,提供了一个简洁的方式来管理多个容器之间的通信和数据共享。 docker-compose-windows-x86_64 是特定于 Windows 平台x86_64架构的二进制安装文件。它可以在 Windows 10 或更高版本的操作系统上运行,提供了最新版本的 Docker Compose 功能和特性。 要使用 docker-compose-windows-x86_64,你需要首先安装 Docker for Windows,然后将 docker-compose-windows-x86_64 的可执行文件下载到你的计算机上,并添加到系统的 PATH 环境变量中。然后你就可以在命令行或 PowerShell 中运行 `docker-compose` 命令来管理你的容器了。 总而言之,docker-compose-windows-x86_64 是针对 Windows 平台的 Docker Compose 安装包,它提供了方便管理和运行多个 Docker 容器的功能。通过编写简单的 YAML 文件,你可以轻松定义容器之间的关系和依赖性,并使用 Docker Compose 命令来管理这些容器的生命周期。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值