广告
返回顶部
首页 > 资讯 > 服务器 >Docker 网络模式及配置方式
  • 433
分享到

Docker 网络模式及配置方式

2024-04-02 19:04:59 433人浏览 八月长安
摘要

一、Docker网络模式 docker run 创建 Docker 容器时,可以用 –net 选项指定容器的网络模式,Docker 有以下 4 种网络模式: host 模式,使用 –

一、Docker网络模式

docker run 创建 Docker 容器时,可以用 –net 选项指定容器的网络模式,Docker 有以下 4 种网络模式:

host 模式,使用 –net=host 指定。

container 模式,使用 –net=container:NAME_or_ID 指定。

none 模式,使用 –net=none 指定。

bridge 模式,使用 –net=bridge 指定,默认设置。

host 模式

如果启动容器的时候使用 host 模式,那么这个容器将不会获得一个独立的 Network Namespace,而是和宿主机共用一个 Network Namespace。容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口。

例如,我们在 10.10.101.105/24 的机器上用 host 模式启动一个含有 WEB 应用的 Docker 容器,监听 tcp 80 端口。当我们在容器中执行任何类似 ifconfig 命令查看网络环境时,看到的都是宿主机上的信息。而外界访问容器中的应用,则直接使用 10.10.101.105:80 即可,不用任何 NAT 转换,就如直接跑在宿主机中一样。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。

container 模式

这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过 lo 网卡设备通信。

none模式

这个模式和前两个不同。在这种模式下,Docker 容器拥有自己的 Network Namespace,但是,并不为 Docker容器进行任何网络配置。也就是说,这个 Docker 容器没有网卡、IP、路由等信息。需要我们自己为 Docker 容器添加网卡、配置 IP 等。

bridge模式

bridge 模式是 Docker 默认的网络设置,此模式会为每一个容器分配 Network Namespace、设置 IP 等,并将一个主机上的 Docker 容器连接到一个虚拟网桥上。

当 Docker server 启动时,会在主机上创建一个名为 docker0 的虚拟网桥,此主机上启动的 Docker 容器会连接到这个虚拟网桥上。

虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。接下来就要为容器分配 IP 了,Docker 会从 RFC1918 所定义的私有 IP 网段中,选择一个和宿主机不同的IP地址和子网分配给 docker0,连接到 docker0 的容器就从这个子网中选择一个未占用的 IP 使用。

如一般 Docker 会使用 172.17.0.0/16 这个网段,并将 172.17.42.1/16 分配给 docker0 网桥(在主机上使用 ifconfig 命令是可以看到 docker0 的,可以认为它是网桥的管理接口,在宿主机上作为一块虚拟网卡使用)

二、Docker网络配置–设置固定IP

docker 容器在启动时默认使用的是bridge 模式,Docker 容器启动后,会连接到一个名为 docker0 的虚拟网桥,故每次启动docker容器的IP都不是固定的,不方便管理,有时候需要进行固定IP映射,比如Docker集群管理时。

Docker容器设置固定IP时需要用到需要用到 pipework,用于给容器设置IP:

1、host宿主机下载pipework如下:


$ git clone https://GitHub.com/jpetazzo/pipework.git
$ cp pipework/pipework /usr/local/bin/

2、安装网桥工具包bridge-utils


$ yum -y install bridge-utils

3、创建网桥并设置IP网段


$ brctl addbr br1
$ ip link set dev br1 up
$ ip addr add 192.168.10.1/24 dev br1

4、启动一个容器


#基于 Centos 这个镜像启动一个容器,名为 centos-ip
$ docker run -d --name=centos-ip centos

5、设置IP


$ pipework br1 centos-ip 192.168.10.20/24

为名为 centos-ip 的容器指定了IP 192.168.10.20

分别使用 ping 与 ssh 命令进行验证,看是否可以ping通和成功登录


$ ping 192.168.10.20
$ ssh 192.168.10.20

注意:SSH时需要输入容器centos的root密码,如果在创建centos容器时未指定root密码,可先进入容器设置root密码:


docker exec -it 容器ID/NAME
sudo passwd root

附: 删除网桥


brctl show 
#查看网桥状态 
brctl delif <网桥名> <端口名> 
#卸载网桥上的端口 
ifconfig 
#查看是否有网桥网卡名 
ifconfig <网桥名> down 
#关闭此网卡 
brctl delbr <网桥名> 
#删除网桥</span> 

1.9版本后的Docker可使用下面这种方式:

1、创建自定义网络


docker network create --subnet=192.168.10.1/24 network_my
# docker network ls 
NETWORK ID     NAME        DRIVER       SCOPE
1fb22da7d8a3    bridge       bridge       local
fe259334b842    host        host        local
8c5971ff48d8    network_my     bridge       local
3aaf0356c19c    none        null        local

2、 启动Docker容器


docker run -itd --name hadoop0 --hostname hadoop0 --net network_my --ip 192.168.10.30 -d -P -p 50070:50070 -p 8088:8088 hadoop:master

补充:docker 镜像源更改与网络方式修改

docker 镜像更改,在/etc/docker/daemon.JSON 添加镜像地址,改用别的方式生效了。


{ "exec-opts": ["native.cgroupdriver=systemd"] }

重启docker


systemctl restart docker systemctl status docker

居然生效了。

docker 的配置时而这样生效,时而那样生效,真是无语

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: Docker 网络模式及配置方式

本文链接: https://www.lsjlt.com/news/122105.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker 网络模式及配置方式
    一、Docker网络模式 docker run 创建 Docker 容器时,可以用 –net 选项指定容器的网络模式,Docker 有以下 4 种网络模式: host 模式,使用 –...
    99+
    2022-11-11
  • Docker网络模式及配置方式的示例
    这篇文章将为大家详细讲解有关Docker网络模式及配置方式的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Docker网络模式docker run 创建 Docker 容器时,可以用 –net 选...
    99+
    2023-06-14
  • Docker网络模式详解
    目录 Docker网络模式 一、Host模式 二、container模式 三、none模式 四、bridge模式 五、Overlay模式 Docker网络模式         安装Docker时会自动创建3个网络,可以使用docker ...
    99+
    2023-10-19
    docker 容器 运维 学习 网络
  • Docker网络模型使用详解(2)Docker网络模式
    安装Docker时会自动创建3个网络,可以使用docker network ls命令列出这些网络。 [root@localhost ~]# docker network ls NETWORK ID     NAME          ...
    99+
    2023-09-08
    docker 容器 linux 运维
  • Docker的网络模式介绍
    这篇文章主要介绍“Docker的网络模式介绍”,在日常操作中,相信很多人在Docker的网络模式介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker的网络模式介绍”...
    99+
    2022-10-18
  • Docker的四种网络模式
    Docker 的四种网络模式 Docker 有 bridge、none、host、container 四种网络模式,提供网络隔离、端口映射、容器间互通网络等各种支持,下面开门见山地直...
    99+
    2022-11-13
  • Oracle网络配置之共享模式和专有模式
    概念 对于连接数不多的应用,适宜用专有连接,客户的请求响应及时; 对于连接数较大的应用,适宜用共享连接,充分利用系统资源; remote_listener...
    99+
    2022-10-18
  • docker的网络模式有哪些
    Docker的网络模式有以下几种: bridge(默认):Docker在主机上创建一个虚拟的网络桥接接口,容器加入到这个网络中后可...
    99+
    2023-10-30
    docker
  • docker容器网络模式详解
    目录bridge - 桥接模式host - 站点模式container - 容器模式none模式overlay 模式bridge - 桥接模式 上期有提到我们可以使用docker c...
    99+
    2022-11-13
    docker 容器网络模式 docker 网络模式
  • Docker中的四种网络模式
    目录实现原理四类网络模式host模式container模式none模式bridge模式实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0)...
    99+
    2023-05-17
    Docker四种网络模式 Docker网络模式
  • 虚拟机 nat模式 连不上网 (centos7 配置 not模式 网络)
    1、虚拟机(nat模式)无法连接网路 查看本机ip 1)win+r打开运行 输入cmd 2)输入ipconfig 查看本机ip地址 3)第一步:win11系统的查询VMware是否被禁用了 设置 --> 网络和Internet ...
    99+
    2023-09-07
    网络 服务器 linux centos
  • 配置 VirtualBox 虚拟机的网络模式
    目录一、网络接入模式1、网络地址转换(NAT)模式2、桥接网卡模式3、内部网络模式4、仅主机网络模式二、总结最近有小伙伴遇到虚拟机网络通信的问题。本文以 VirtualBox 为例梳...
    99+
    2022-11-13
  • linux网络NAT配置方式详解
    本文为大家分享了linux网络NAT配置方式,供大家参考,具体内容如下 NAT访问的权限如下: 外网不可以访问虚拟机,主机和虚拟机可以互访,网络和主机也可以互访; 1、打开虚拟机——编辑——虚拟网络编辑器——、 2、...
    99+
    2022-06-04
    linux NAT
  • Docker四种网络模式是什么
    这篇文章主要介绍“Docker四种网络模式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker四种网络模式是什么”文章能帮助大家解决问题。1.安装doc...
    99+
    2022-10-19
  • Docker四种网络模式演示及连通性测试
    目录Docker 的四种网络模式host 模式host 模式演示container 模式container 模式演示none 模式 none 模式演示bridge 模式&n...
    99+
    2022-11-13
  • 如何配置虚拟机NAT模式网络
    这篇文章给大家分享的是有关如何配置虚拟机NAT模式网络的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。NAT模式配置网络虚拟机中有三种网络模式:桥接共享主机NAT模式本次讲NAT模式配置网络NAT模式网络连接结构:...
    99+
    2023-06-04
  • 深入解析docker三种网络模式
    目录1.docker默认的三种网络模式:2.桥接模式3.host模式4.none模式1.docker默认的三种网络模式: bridge:桥接模式 host:主机模式 none:无网络...
    99+
    2022-11-13
  • docker如何查看container-none网络模式
    小编给大家分享一下docker如何查看container-none网络模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!cont...
    99+
    2022-10-19
  • Docker的四种网络模式是什么
    这篇文章主要介绍“Docker的四种网络模式是什么”,在日常操作中,相信很多人在Docker的四种网络模式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker的四种网络模式是什么”的疑惑有所帮助!...
    99+
    2023-06-29
  • Docker网络配置及部署SpringCloud项目详解
    目录本次目标:一、Docker网络配置1.bridge模式(默认模式)2.host模式二、bridge模式三、host模式 四、如何创建自定义网络 1.创建自定义...
    99+
    2023-01-17
    docker网络配置 docker网络模式 docker默认的网络模式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作