【Docker】Docker中network的概要、常用命令、网络模式以及底层ip和容器映射变化的详细讲解

简介: 【Docker】Docker中network的概要、常用命令、网络模式以及底层ip和容器映射变化的详细讲解

c5ad48a017564cd1b1dfb42d0a5cd134.png前言:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux系统 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker network的概要

Docker网络是Docker容器之间和容器与外部世界之间进行通信的关键组件。它允许容器之间相互通信,并提供与外部网络的连接。下面是关于Docker网络的一些概要:

  • 1.Docker网络模型:

Docker网络模型包括三个主要组件:容器、网络和端点。容器是运行应用程序的独立环境,网络提供容器之间和容器与外部世界之间的通信路径,而端点则是连接容器和网络的桥梁。


2.Docker网络类型:

 Docker支持多种网络类型,包括桥接网络、主机网络、覆盖网络和无网络。桥接网络是默认的网络类型,它使用Docker daemon主机上的桥接接口将容器连接到主机网络。主机网络直接将容器连接到主机网络接口,使得容器可以直接访问主机上的网络资源。覆盖网络是多个Docker守护进程连接在一起的虚拟网络,它允许容器在不同主机上进行通信。无网络类型则表示容器没有网络访问能力。


3.Docker网络驱动程序:

 Docker网络驱动程序负责创建和管理Docker网络。常见的驱动程序包括bridge、host、overlay等。bridge驱动程序是默认的网络驱动程序,它创建一个本地的软件桥接接口,用于连接容器和宿主机的网络。host驱动程序直接使用宿主机网络接口,使得容器可以直接访问宿主机的网络资源。overlay驱动程序用于创建跨多个Docker守护进程的覆盖网络。


4.Docker网络命令:

 Docker提供了一组命令来管理和配置网络。常见的命令包括docker network create用于创建网络,docker network connect用于连接容器到网络,docker network inspect用于查看网络信息等。


5.Docker网络的使用场景:

 Docker网络可用于各种使用场景,包括单主机部署、多主机集群、微服务架构等。通过使用不同的网络类型和驱动程序,可以灵活地配置和管理Docker网络,以满足不同的需求。


56e9c91fadbb40fb83151b5977d6c09d.jpg

network的常用命令

上面我们提及到了Docker network,那么关于network的常用命令有哪些呢?让我们一起来看看吧。

  • 1.创建网络:
docker network create <network_name>

该命令用于创建一个新的Docker网络,其中<network_name>是网络的名称。

  • 2.列出网络:
docker network ls

该命令用于列出所有可用的Docker网络。

  • 3.查看网络详情:
docker network inspect <network_name>
  • 4.连接容器到网络:
docker network connect <network_name> <container_name>

该命令用于将已创建的容器连接到指定的Docker网络中,其中<network_name>是网络名称,<container_name>是容器名称或ID。

  • 5.断开容器与网络的连接:
docker network disconnect <network_name> <container_name>

该命令用于断开指定容器与指定Docker网络的连接

  • 6.删除网络:
docker network rm <network_name>

该命令用于删除指定的Docker网络,其中<network_name>是要删除的网络名称。

以上就是一些常用的Docker网络命令啦,可以用于创建、管理和删除Docker网络。如有问题,欢迎各位指出


network的网络模式

接下来让我们来看看network的网络模式有哪几种呢。Docker提供了多种网络模式,可以根据不同的需求选择适合的网络模式。以下是一些常见的Docker网络模式:

1.Bridge模式(桥接模式):

 桥接模式是默认的Docker网络模式。在桥接模式下,Docker会为每个容器分配一个唯一的IP地址,并将它们连接到宿主机上的桥接接口。容器之间可以通过IP地址进行通信,也可以通过容器名称进行通信。此外,桥接模式允许容器与宿主机以及宿主机上的其他网络资源进行通信。


2.Host模式(主机模式):

 主机模式下,Docker容器与宿主机共享网络栈。容器将直接使用宿主机的网络接口,而不会获得自己的网络命名空间。这意味着容器可以使用宿主机上的所有网络资源,包括IP地址、端口等。由于与宿主机共享网络栈,容器之间的端口冲突可能会发生。


3.None模式(无网络模式):

 在无网络模式下,Docker容器没有网络连接。这意味着容器无法访问外部网络,也无法与其他容器进行通信。无网络模式适用于一些安全性要求较高的场景,或者仅需要运行计算型任务而不涉及网络通信的场景。


4.Overlay模式(覆盖模式):

 覆盖模式用于创建跨多个Docker守护进程的覆盖网络。覆盖网络允许不同宿主机上的容器之间进行通信,使得容器可以在多主机集群中无缝运行。覆盖网络使用了Swarm模式,它是Docker的集群管理工具。

network底层ip和容器映射变化

  在Docker网络中,有两个关键的概念:底层IP和容器映射

1.底层IP:每个Docker容器都会分配一个底层IP地址,这个地址是在Docker宿主机上的虚拟网络接口上分配的。底层IP是容器内部使用的IP地址,用于容器内部进程之间的通信。


2.容器映射:容器映射是指将容器的端口映射到宿主机的端口,以便容器可以通过宿主机的网络接口与外部进行通信。当我们在创建容器时使用-p或--publish参数指定端口映射规则时,Docker会将容器内部的端口映射到宿主机上的一个随机端口或指定的端口上。


 具体来说,当我们创建一个Docker容器并指定端口映射规则时,Docker会在宿主机上创建一个转发规则,将宿主机上的指定端口与容器内部的端口进行绑定。这样,当外部系统通过宿主机的IP地址和绑定的端口访问时,请求会被转发到容器内部的对应端口上。


 举个例子,假设我们创建了一个名为webapp的Docker容器,并将容器内部的80端口映射到宿主机的8080端口。那么,当我们通过宿主机的IP地址和8080端口访问时,请求会被转发到容器内部的80端口,从而访问到容器中运行的Web应用。


 综上所述的话呢,底层IP是容器内部使用的IP地址,用于容器内部进程之间的通信;而容器映射是将容器的端口映射到宿主机的端口,以便容器可以与外部网络进行通信。通过这种方式,Docker网络提供了灵活且可定制的网络配置选项,使得容器可以轻松地与其他容器和外部系统进行通信。

image.png


如果本文对大家有所帮助的话,还望各位能给我点赞、收藏并评论一下,感谢各位💕!!! 另如果大家有什么疑问或者建议的话,欢迎评论区留言。

相关文章
|
1月前
|
安全 网络安全 UED
为何长效代理静态IP是网络管理的关键要素
在信息化时代,静态长效IP代理对网络管理至关重要。它能提升网络服务质量,确保远程办公、视频会议等应用的稳定性和连续性;减少延迟和网络拥堵,加快数据传输;提高网络安全,便于设置访问权限,防止未授权访问。91HTTP高质量代理IP服务商助力高效信息获取。
48 23
|
4天前
|
Ubuntu Linux Docker
Docker 入门全攻略:安装、操作与常用命令指南
Docker 的世界非常广阔,这只是一个开始,请继续探索和学习 Docker 的高级特性和最佳实践。后续也会继续更新相关的理论与实践内容。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
64 11
|
2月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
223 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
3月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
100 17
|
3月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
3月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
67 10
|
3月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
83 10
|
3月前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。
|
3月前
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。

热门文章

最新文章