首页 > 其他分享 >Docker 网络

Docker 网络

时间:2023-04-05 14:34:42浏览次数:29  
标签:容器 bridge 宿主机 网络 模式 Docker docker

1. Docker 网络 1.1 Docker 网络模式   使用 Docker 时,宿主机和容器内系统、容器和容器之间都需要网络连接,必须要考虑容器和宿主机、容器和容器之间的网络连接方式,因此了解 docker 的网络模式对正确使用 docker 非常重要。   Docker 启动后,它默认会创建三个网络,使用 docker network ls 命令可以查看这些网络。   命令:docker network ls   可以看到 docker 自动创建了 bridge,host 和 none 3 种网络模式,默认情况下,使用的是 bridge 模式。   另外,用户还可以创建 Container 网络模式和自定义网络模式。在实际应用中,通过这 5 种网络模式就可以实现: (1)容器间的互联和通信 (2)容器和宿主机的通信以及端口映射 (3)容器 IP 变动时,可以通过服务名直接网络通信而不受到影响。   Docker 中的网络接口默认都是虚拟的接口。对于本地系统和容器内系统来说,虚拟接口跟一个正常的以太网卡相比,并无区别。   1.2 bridge(桥接模式) 1.2.1 bridge 的概念 bridge 模式是 docker 默认的,也是最常使用的网络模式。当 Docker 服务启动时:  主机上创建一个名为 docker0 的虚拟网桥,并选择一个和宿主机不同的 IP 地址(172.12.0.1)和子网(172.12.0.0/16)分配给 docker0 网桥;  当创建一个容器时,docker 也会为该容器创建独立的网络环境,保证容器内的进程使用独立的网络环境;  通过宿主机上的 docker0 网桥,实现容器之间、容器与宿主机之间乃至外界进行网络通信。   1.2.2 bridge 模式的查看命令  查看 docker0 的相关信息 命令:docker network inspect bridge  使用 bridge 网络模式 创建容器时,使用“--network=bridge”,参数表示使用 bridge 网络模式,该参数可以不写,默认情况下就是使用 bridge。 命令:docker run --network=bridge  查看一个容器的网络信息 如:创建一个 redis 容器 r1,使用以下命令,可以查看 r1 的网络信息。 命令:docker inspect r1   宿主机能访问 docker 容器,就是因为有 docker0 这个虚拟网卡。如果宿主机外的机器想访问容器,只能够先访问宿主机,再使用端口映射来访问,即将容器的端口与宿主机的端口进行映射,供外面的机器访问。   1.3 host-主机模式   如果启动容器的时候使用 host 模式,那么这个容器将不会获得独立的网卡名称空间,那是和宿主机共用一个 Network Namespace;容器也不会模拟除自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口。但是,容器的其他方面,如文件系统,进程列表等还是和宿主机隔离的。   host 模式下,容器与宿主机的 IP 一样,端口号不同。  使用 host 网络模式 创建容器时,使用“--network=host”参数表示使用 host 网络模式。 命令:docker run --network=host   1.4 none-无网络模式   none 无网络模式下,容器有独立的 network namespace,但不对其进行任何网络设置。该模式实际上是关闭了容器的网络功能,容器不能联网。      

标签:容器,bridge,宿主机,网络,模式,Docker,docker
From: https://www.cnblogs.com/qiqi-yi/p/17289384.html

相关文章

  • IOS网络状态变化监听
    IOS网络状态变化监听使用Alamofire库的NetworkReachabilityManager一共有三种状态///Itisunknownwhetherthenetworkisreachable.caseunknown///Thenetworkisnotreachable.casenotReachable///Thenetworkisreachableontheassociated`ConnectionType`......
  • Docker
    Docker1Docker简介1.1什么是虚拟化​ 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新......
  • Docker
    env华为云HECSUbuntu22.04server64bit#安装sudoapt-getinstalldocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin#启动sudoservicedockerstart#测试sudodockerrunhello-world查版本dockerversion查信息:dockerin......
  • Docker 如何开发容器
    Docker基本使用Docker的核心价值在于虚拟化或者说环境隔离【通过虚拟化技术实现虚拟环境】,解决环境配置和部署的依赖问题实现解耦我对虚拟化的理解源自《OperatingSystems:ThreeEasyPieces》,推荐阅读容器技术相关历史推荐知乎上的这篇文章:容器技术的历史Docker基本概......
  • Docker 下 Redis 数据库的持久化
    1、Docker容器的数据卷Docker是将系统与运行的环境打包成容器来运行,当容器删除后,容器里的系统自然也就没有了。但是,在实际的项目中,希望Docker容器产生的数据能够持久化,同时容器之间也能够共享数据。Docker提供了数据卷技术来实现这些需求。数据卷就是目录或文件,存......
  • OPNET网络仿真分析-1.1.2、OPNET简介
    OPENT网络仿真分析(作者:栾鹏、陈玓玏)OPNET网络仿真分析-目录OPNET网络仿真分析-电子版1.1.2、OPNET简介OPNET公司起源于MIT(麻省理工学院),成立于1986年。1987年OPNET公司发布了其第一个商业化的网络性能仿真软件,提供了具有重要意义的网络性能优化工具,使得具有预测性的网络性能管理和......
  • OPNET网络仿真分析-1.1.1、网络仿真简介
    OPENT网络仿真分析(作者:栾鹏、陈玓玏)1.1.1、网络仿真简介1、网络仿真的目的:在建设网络,开展网络业务之前需要对配置的网络设备、所采用的网络技术、承载的网络业务等方面的投资进行综合分析和评估,提出性能价格比最优的解决方案。构建新网络,升级改造现有网络,或者测试新协议,都需要对......
  • nextcloud 您的网络请求过多。如果出现错误,请稍后重试或与您的管理员联系。问题排查过
    问题描述一觉醒来,登录自己搭建的nextcloud服务器,结果发现用记忆在浏览器里面的密码登录不进去——输入用户名密码后,登录没有反应。多登录几次,页面提示:您的网络请求过多。如果出现错误,请稍后重试或与您的管理员联系。问题排查上网搜索,有不同的说法,我尝试了以下说法都不管用:1、c......
  • OPNET网络仿真分析-1.6、OPNET软件使用
    OPENT网络仿真分析(作者:栾鹏、陈玓玏)1.6、OPNET软件使用1.6.1、菜单栏介绍在子网模块界面,OPNET菜单栏工具栏如图所示。第一部分:文件操作点击File,弹出如图1-9所示。(1)点击New,弹出新建内容窗口,会有多种创建内容选择。点击Open和Save以及SaveAs同样会有不同的文件格式类型。OPNET文件......
  • OPNET网络仿真分析-1.2、OPNET安装教程
    OPENT网络仿真分析(作者:栾鹏、陈玓玏)1.2、OPNET安装教程本书使用的OPNET安装配置环境如表1-8所示。第一部分:安装vs2010,设置vs环境变量本书使用以win764位安装OPNET14.5仿真软件。【1】安装vs2010,只需要安装c++语言(安装过程略)。我的安装目录为G:\vs2010【2】开始设置VC编译器的环......