IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker网络(不同容器的互通) -> 正文阅读

[系统运维]Docker网络(不同容器的互通)

一、前言

1.docker的镜像是令人称道的地方,但网络功能还是相对薄弱的部分。
2.docker安装后会自动创建3种网络:bridge、host、none
3.yum install -y net-tools 查看网络的工具
本章节将为4个部分去介绍docker网络通信

二、docker原生网络

一、 简介

(1)docker安装后会自动创建3种网络:bridge、host、none
安装时会默认创建一个docker0 的Linux bridge,新建的容器会自动桥接到这个接口。

 ip addr show docker0

在这里插入图片描述

(2) 查看当前网络

docker network ls

在这里插入图片描述

二、新建容器的网络设置

1、bridge模式

bridge模式下容器没有一个公有ip,只有宿主机可以直接访问,外部主机是不可见的。容器通过宿主机的NAT规则后可以访问外网。

在这里插入图片描述

[root@server1 harbor] docker run -d nginx 后台运行nginx
9fb9e4cdfe2ab9b7ae4a86b96108239ac60eef9f60eb0274f3c7b22f4b134e4c
[root@server1 harbor] brctl show    查看网络连接

发现使用的是默认的网桥
在这里插入图片描述

2、host模式

host模式可以让容器共享宿主机网络栈,这样的好处是外部主机与容器直接通信,但是容器的网络缺少隔离性。
在这里插入图片描述

host网络模式需要在容器创建时指定 --network=host

[root@server1 harbor] docker run -it --name demo --network host busybox
/ # ip addr show

在这里插入图片描述
在这里插入图片描述

3、none模式

none模式是指禁用网络功能,只有lo接口,在容器创建时使用
–network=none指定。

[root@server1 harbor]# docker run -it --name demo --network none busybox
/ # ip addr 

只有lo口的
在这里插入图片描述

三、Docker自定义网络

自定义网络模式,docker提供了三种自定义网络驱动:
bridge、overlay、macvlan。
自定义bridge驱动类似默认的bridge网络模式,但增加了一些新的功能,overlay和macvlan是用于创建跨主机网络。

一、新建默认自定义网络

docker network create -d bridge my_net1
docker network ls                           图1
docker network inspect my_net1              图2

图1
在这里插入图片描述
图2
在这里插入图片描述

二、新建自定义–subnet 、–gateway网桥

 docker network create --subnet 172.42.0.0/24 --gateway 172.42.0.1 my_net2
 docker network inspect my_net2

成功获取到设定的网络
在这里插入图片描述

三、实现同一网桥的容器的互通

使用–ip参数可以指定容器ip地址,但必须是在自定义网桥上,默认的bridge模式不支持,同一网桥上的容器是可以互通的。

[root@server1 harbor] docker network create --subnet 172.42.0.0/24 --gateway 172.42.0.1 my_net2              建立自定义网络
[root@server1 harbor] docker run -it --name demo1 --network my_net2 --ip 172.42.0.10 busybox             设置此容器的ip(并且ctrl+p+q打入后台运行)
[root@server1 harbor] docker run -it --name demo3 --network my_net2 --ip 172.42.0.12 busybox
/  ping 172.42.0.10              ping 之前demo1的ip

在这里插入图片描述

四、Docker容器通信

docker 1.10开始,内嵌了一个DNS server。
dns解析功能必须在自定义网络中使用。
启动容器时使用 --name 参数指定容器名称

五、跨主机容器网络

跨主机网络解决方案
docker原生的overlay和macvlan

一、macvlan网络方案实现

Linux kernel提供的一种网卡虚拟化技术。
无需Linux bridge,直接使用物理接口,性能极好。

1.配置新网卡

server1
添加虚拟网卡
在这里插入图片描述
修改新网卡配置

[root@server1 network-scripts] cd /etc/sysconfig/network-scripts
[root@server1 network-scripts] cp ifcfg-eth0 ifcfg-eth1
[root@server1 network-scripts] vim ifcfg-eth1   图1

图1
在这里插入图片描述

2.启用网卡,设定混杂模式,

[root@server1 network-scripts] ifup eth1
[root@server1 network-scripts] ip link set eth1 promisc on
[root@server1 network-scripts] ip addr show eth1

在这里插入图片描述

3.docker主机上创建macvlan网络,开启容器进程

[root@server1 network-scripts] docker network create -d macvlan --subnet 172.54.0.0/24 --gateway 172.54.0.1 -o parent=eth1 macvlan1
1a4404b1fd8a1586081fa14600e1f1e843872f20609800fd6482f8a28f5c604f
[root@server1 network-scripts] docker run -it --name demo2 --network macvlan1 --ip 172.44.0.11 busybox
/

4.另外一块主机配置

server2
操作同上,添加一块相同的网卡eth1,修改其内容如下
在这里插入图片描述
启用网卡,设定混杂模式,

[root@server1 network-scripts] ifup eth1
[root@server1 network-scripts] ip link set eth1 promisc on
[root@server1 network-scripts] ip addr show eth1

创建相同网段的macvlan,设定ip为172.54.0.12的容器进程

[root@server2 mnt] docker network create -d macvlan --subnet 172.54.0.0/24 --gateway 172.54.0.1 -o parent=eth1 macvlan1
[root@server2 mnt] docker run -it --name demo3 --network macvlan1 --ip 172.54.0.12 busybox

5.实验结果:在sserver2的容器中,ping通server1的容器进程

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 11:14:16  更:2021-07-23 11:14:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 6:43:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码