Docker 网络管理

这篇具有很好参考价值的文章主要介绍了Docker 网络管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Docker网络简介

Docker网络是容器化应用程序的重要组成部分,它使得容器之间可以互相通信和连接,同时也提供了容器与外部环境之间的隔离和连接。

二、Docker网络模式

Docker 提供了多种网络模式,可以通过docker network ls 命令查看docker的网络列表,常见有网络模式有如下:
Docker 网络管理,docker,docker,容器,运维

  1. Bridge:默认模式,创建一个命名为"docker0"的虚拟网桥设备,将所有容器连接到该网桥设备上,实现容器之间的通信。
  2. Host:容器与主机共享网络命名空间,即通过Host模式启动的所有容器共享主机的ip和端口范围。容器将不会虚拟出自己的网卡以及配置自己的IP等。不过,容器的其他方面,如文件系统、进程列表等还相互隔离的,并且各容器间的端口以及主机被占用的端口不能冲突。
  3. None:Docker的none模式下,不会为容器创建任何网络设备,容器无法访问其他容器或者主机的网络设备,也无法使用主机的IP地址进行网络通信,容器与主机之间是完全隔离的。
  4. Container:在创建容器时指定具体的网络共享的容器,新创建的容器不会创建自己的网卡,也不会配置自己的 IP,而是使用所指定容器的 IP、端口范围等。同样,两个容器除了网络方面是共享,其他方面都是各自独立的。

三、Bridge模式

  当Docker server启动时,会在主机上创建一个名为docker0的虚拟网桥。此后,主机上每启动一个Docker容器都会连接到这个虚拟网桥上。
  当创建一个 Docker 容器的时候,容器会获得一个独立的Network Namespace,并在这个独立的Network Namespace下为容器设置一个默认的ip,同时会创建了一对 veth pair接口。这对接口一端在容器内,即 eth0;另一端在本地并被挂载到docker0网桥,名称以 veth 开头。通过这对接口可以让容器与主机进行通信,也可以让容器与容器之间进行通信。
Docker 网络管理,docker,docker,容器,运维

  1. 指定Bridge模式启动一个容器,默认不添加--net参数启动,就是Bridge模式,也可以通过--net=bridge来指定网络模式为Bridge,通常配合-p来指定主机与容器之间的端口映射关系。
    docker run -d --name n1 -p 8080:80 nginx
    docker run -d --name n2 --net=bridge -p 8080:80 nginx
  2. 通过docker inspect 容器id 查看容器的信息,显示网络模式为Bridge,以及分配的IP信息。
    Docker 网络管理,docker,docker,容器,运维

四、Host 模式

Docker的host模式是一种特殊的网络模式,当Docker容器启动时,容器不再会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace,它会自动获取主机的IP地址和端口号范围,并且与主机共用这个ip。容器可以直接访问其他容器或者主机的网络设备,同时,容器还可以使用主机的IP地址进行网络通信,而不需要使用Docker桥接设备分配的私有IP地址。
Docker 网络管理,docker,docker,容器,运维

  1. 指定为Host 模式启动一个容器,通过--net=host来指定网络模式为Host。
    docker run -d --name n3 --net=host nginx
  2. 通过docker inspect 容器id 查看容器的信息,显示网络模式为Host,IP信息为空。
    Docker 网络管理,docker,docker,容器,运维

五、None 模式

Docker的None模式下,不会为容器创建任何网络设备,容器无法访问其他容器或者主机的网络设备,也无法使用主机的IP地址进行网络通信。None模式的优点是可以最大程度地隔离容器和主机,避免了容器之间的相互干扰,同时也可以避免Docker桥接设备占用主机的网络接口。因此,none模式适用于需要高隔离性和低网络依赖性的应用程序。
Docker 网络管理,docker,docker,容器,运维

  1. 指定为None 模式启动一个容器,通过--net=none来指定网络模式为None。
    docker run -d --name n4 --net=none nginx
  2. 通过docker inspect 容器id 查看容器的信息,显示网络模式为Host,IP信息为空。
    Docker 网络管理,docker,docker,容器,运维

六、Container 模式

Docker的Container模式下,在创建容器时可以指定具体的网络共享的容器,新创建的容器不会创建自己的网卡以及配置自己的 IP,而是使用所指定容器的 IP、端口范围等,使的两个容器之间可以使用 localhost 高效快速通信。两个容器除了网络方面,其他的如文件系统,进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信,并且两个容器的端口不能相同。
Docker 网络管理,docker,docker,容器,运维

  1. 使用默认网络模式创建一个nginx容器n1
    docker run -d --name n1 -p 8080:80 nginx
  2. 使用Container模式创建另一个mysql容器n2,与n1共享网络命名空间。
    docker run -e MYSQL_ROOT_PASSWORD=root -d --name n2 --net=container:n1 --restart=always mysql

七、自定义网络模式

当我们直接使用--net=bridge去指定IP运行docker 的,会提示报错如下:
Docker 网络管理,docker,docker,容器,运维

如果想要指定ip去运行docker容器的话,就的先创建一个自定义一个网络模式,再指定IP运行docker容器。

  1. 可以通过命令docker network create --driver bridge --subnet 172.30.1.0/24 --gateway 172.30.1.1 my_net去创建一个自定义网络模式。
    Docker 网络管理,docker,docker,容器,运维

  2. 使用自定义网络模式,指定ip去启动容器
    docker run -d --name n2 --net=my_net --ip 172.30.1.3 -p 8080:80 nginx
    Docker 网络管理,docker,docker,容器,运维

  3. 查看容器信息
    Docker 网络管理,docker,docker,容器,运维

  4. 删除自定义网络
    docker network rm my_net文章来源地址https://www.toymoban.com/news/detail-806949.html

到了这里,关于Docker 网络管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【docker】网络模式管理

    目录 一、Docker网络实现原理 二、Docker的网络模式 1、host模式 1.1 host模式原理 1.2 host模式实操 2、Container模式 2.2 container模式实操 3、none模式 4、bridger模式 4.1 bridge模式的原理 4.2 bridge实操 5、overlay模式 6、自定义网络模式 6.1 为什么需要自定义网络模式? 6.2 创建自定义网络 6

    2024年02月02日
    浏览(49)
  • Docker swarm 网络配置与管理

    创建自定义overlay网络名为nginx-net创建nginx服务设置3个副本并使用nginx-net网络 Swatm集群部署nginx服务副本数量为3并使用自定义overlay网络 在创建一个overlay网络名为nginx-net01 将现已经启动的nginx01服务进行修改链接至nginx-net01网络 删除上述创建的自定义overlay网络和nginx01服务工作节

    2024年02月12日
    浏览(39)
  • 七.Docker网络管理以及固定ip

    1、Docker有四种网络模式 host:容器和主机共享一个网络。 container:容器和另外一个容器共享一个网络。 none:不进行网络连接。 bridge:默认配置,桥接模式。 2、查看docker默认network 默认有三个网络模式 3、Docker默认的网络模式网关是172.17.0.1。我们可以创建新的bridge网络供容

    2024年02月16日
    浏览(40)
  • Docker数据管理和网络通信

    Docker 的数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。 1.数据卷 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像

    2024年02月08日
    浏览(54)
  • 【运维知识大神篇】运维人必学的Docker教程1(Docker安装部署+Docker镜像管理+容器管理常用命令+搭建docker的本地yum源+windows系统安装docker环境)

    本篇文章开始给大家介绍Docker,这个是我非常喜欢的一个服务,介绍给大家,希望大家也能喜欢! 目录 何为容器 Docker环境安装部署 一、yum安装(CentOS7.9) 二、rpm包安装(CentOS) 三、卸载docker环境 四、安装指定的docker版本 五、Ubuntu安装docker环境 六、使用deb安装docker 七、

    2024年01月18日
    浏览(110)
  • Linux运维:网络管理

    提前看:本文是Linux运维的学习笔记,之前的Linux命令基础和shell基础,使我们对Linux有系统的认识,但是这个方面的知识点非常多,今天啥也不干,就整理Linux运维各种范围出现的名词性内容进行解释。 CPU(中央处理器)是计算机的主要组成部分,它负责执行计算机程序中的

    2024年02月03日
    浏览(57)
  • 网络设备远程运维管理解决方案

           在当今高度信息化的时代,网络设备远程运维管理已成为企业运营中的一项核心任务。随着设备数量不断增加,分布日益广泛,传统的现场维护方式已无法满足企业对效率和经济性的需求。如何寻找一种高效、便捷的设备远程运维管理系统,已成为企业的迫切需求。

    2024年01月20日
    浏览(46)
  • 云计算Linux运维——Linux系统管理——网络参数配置

    点关注不迷路 目录 1网络参数配置 一、网络参数 1、主机名 2、查看网卡IP地址 3、查看网关 4、查看DNS服务器地址 二、配置网卡 1、修改网卡配置文件 2、nmcli命令 3、nmcli配置网卡 3)重新加载配置 三、VMware网络工作模式 1、虚拟网络、虚拟网卡 2、虚拟网络工作模式 2双网卡绑

    2024年02月04日
    浏览(46)
  • 华为1+X认证网络系统管理与运维中级实验

    实验拓扑 ​ ​ 配置参数 ​ ​ ​ ​ ​ ​ 任务1:设备命名 为了方便后期维护和故障定位及网络的规范性,需要对网络设备进行规范化命名。 请根据Figure 3-1实验考试拓扑对设备进行命名。 命名规则为:城市-设备的设置地点-设备的功能属性和序号-设备型号。 例如::处于

    2024年02月05日
    浏览(63)
  • Python自动化运维实战——Telnetlib和Netmiko自动化管理网络设备

    ❤️ 博客主页 :  iknow181 🔥 系列专栏 :  Python 、 JavaSE 、 JavaWeb 、 CCNP 🎉 欢迎大家点赞👍收藏⭐评论✍ 目录 一、前言 二、准备工作 三、Telnetlib Telnetlib介绍 Telnetlib模块及操作方法介绍 Telnetlib配置设备 Telnetlib批量化部署多台设备 Telnetlib抓取设备配置 四、Netmiko Netmiko介

    2024年02月08日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包