Docker - 哲学 默认网络和 自定义网络 与 linux 网络类型 和 overlay2

2024-03-24 15:44

本文主要是介绍Docker - 哲学 默认网络和 自定义网络 与 linux 网络类型 和 overlay2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

默认网络:不指定 --nerwork 

不指定 网络 run 一个容器时,会直接使用默认的网络桥接器 (docker0)

自定义网络:指定 --nerwork  

让这两台容器互相通信 的前提 - 共享同一个网络 

关于 ip addr 显示 ens160

储存驱动 overlay != 网络驱动 overlay

我本地地址为 192.168.2.218 百度ip为  110.242.68.66,那么为什么 192.168.2.218 可以 ping 通 百度的 ip: 110.242.68.66 。他们并不在同一个网段 ,docker里面 不同的 网段的网络无法进行通信

Docker容器的网络和你的物理网络是隔离的。每个Docker容器都在自己的网络命名空间中运行,这意味着它们有自己的网络栈,包括自己的路由表。这就是为什么在Docker网络中,不同网络段的容器不能直接通信。

然而,你的物理机器(在这个例子中是你的Mac)是连接到一个路由器的,这个路由器知道如何将你的数据包路由到互联网上的其他网络。这就是为什么你的Mac可以ping通百度的IP地址,即使它们不在同一个网络段。

如果你想让Docker容器能够访问互联网,或者让不同网络的Docker容器能够通信,你有几个选项:

  1. 使用host网络模式:这将使容器共享主机的网络命名空间,但是这种模式下的容器不能使用Docker的端口映射功能。

  2. 使用bridge网络模式并手动配置端口映射:这将允许容器访问互联网,并且可以使用Docker的端口映射功能。

  3. 使用overlay网络:如果你在使用Docker Swarm,你可以创建一个overlay网络,这将允许不同主机上的容器互相通信。

  4. 使用第三方网络插件:有许多第三方Docker网络插件可以提供更复杂的网络功能。

查看容器的 网络信息

docker  exec -it myContainer  sh  cat /etc/hosts

这篇关于Docker - 哲学 默认网络和 自定义网络 与 linux 网络类型 和 overlay2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/842043

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令