Docker笔记:一篇学会Docker网络知识

系统 其他OS
Docker 使用的是Liunx的桥接原理,宿主机中是一个Docker容器的网桥 docker0。Docker 中所有的网络接口的是虚拟的,虚拟的转发效率高,

今天给大家介绍docker的网络知识,欢迎大家互相交流学习!

1、docker网络介绍

当我们的服务器成功安装docker并启动进程后,就会产生一个docker0的虚拟网桥,本质为Linux网桥(默认为桥接模式),使用的通信技术是Veth-pair技术.

当我们每启动一个容器,docker就给对应容器分配一个eth0,并能够桥接到docker0网卡。这个时候可以把docker0看作为路由器,每个容器可以看作为连接路由器的网络设备,docker0用来管理每个容器的和docker0通信的映射关系。

图片

查看网络信息;

ip addr

具体如下图:

图片

lo:表示本地回环地址

dockers0:表示docker容器安装自动产生的docker0地址。

2、测试容器和宿主主机的通信

2.1 宿主主机可以ping通 docker0

ping 172.17.0.1

执行效果如下图

图片

2.2 容器内部ping宿主主机也可以ping通

ping 192.168.0.116

图片

2.3 dockers中nginx解决没有ping命令的问题

大家如果安装的nginx没有ping命令的话,可以采用下面的两条命令安装ping。

apt-get update #获取更新软件源

图片

apt install iputils-ping #安装ping命令

图片

2.4 容器之间也可以互相ping通

-- 获取docker所有容器的IP地址
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

图片

nginxtest 容器内IP是  172.17.05

nginxtest02 容器内IP是  172.17.06

测试一下是否能够ping通

docker exec -it nginxtest /bin/bash
ping 172.17.0.6

图片

docker exec -it nginxtest02 /bin/bash
ping 172.17.0.5

图片

3、evth-pair技术简介

evth-pair就是一对虚拟设备接口,它们都是成对出现的,一端连着协议,一端彼此相连,所以可以通信。evth-pair可以充当一个桥梁。

4、Docker网络总结

Docker 使用的是Liunx的桥接原理,宿主机中是一个Docker容器的网桥 docker0。Docker 中所有的网络接口的是虚拟的,虚拟的转发效率高,

docker容器网桥的生成周期:docker容器删除,对应的一对网桥就没了。

责任编辑:武晓燕 来源: IT技术分享社区
相关推荐

2023-04-06 08:37:24

2022-06-09 08:41:17

Go网络库Gnet

2022-01-02 08:43:46

Python

2022-10-08 07:17:14

架构

2021-05-27 07:12:19

Python函数装饰器

2022-02-07 11:01:23

ZooKeeper

2021-11-16 14:09:58

Containerd Dockerk8s

2021-05-11 08:54:59

建造者模式设计

2021-07-06 08:59:18

抽象工厂模式

2023-01-03 08:31:54

Spring读取器配置

2021-07-02 09:45:29

MySQL InnoDB数据

2021-07-05 22:11:38

MySQL体系架构

2022-08-26 09:29:01

Kubernetes策略Master

2023-11-28 08:29:31

Rust内存布局

2022-08-23 08:00:59

磁盘性能网络

2022-04-12 08:30:52

回调函数代码调试

2021-10-27 09:59:35

存储

2021-07-02 08:51:29

源码参数Thread

2021-07-16 22:43:10

Go并发Golang

2021-09-28 08:59:30

复原IP地址
点赞
收藏

51CTO技术栈公众号