docker学习(十九、network使用示例bridge)

文章目录

network相关内容:
docker学习(十八、network介绍)
docker学习(十九、network使用示例bridge)
docker学习(二十、network使用示例host、none)
docker学习(二十一、network使用示例container、自定义)

一、容器网络分配情况

1.启动容器

2.查看容器的network

bash 复制代码
#查看容器的network
docker inspect mysql-master
bash 复制代码
#查看容器的network,最后20行
docker inspect mysql-slave | tail -n 20

可以从上看出,没有设置的容器network,默认确实是bridge。

mysql-master的ip:172.17.0.2

mysql-slave的ip:172.17.0.3

3.容器网络分配

思考一下:

那么如果我把mysql-slave容器停掉,启动另一台容器ip会发送什么样的变换呢?

实践:

bash 复制代码
#停掉原来的服务
docker stop mysql-slave
docker ps
docker images
#启动一台新服务
docker run -p 3309:3306 --name mysql-slave2  -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
#查看网络
docker inspect mysql-slave2 | tail -n 20

ip会重新分配,那么如果我们使用容器内的ip进行通信,一旦出现容器挂了的情况,ip会发生变更,就会有问题。

二、bridge

1.bridge详细介绍

  1. Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。在同一个宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。
  2. docker run的时候,没有指定network就会默认bridge,使用docker0。在宿主机上ifconfig就可以看到docker0和create的network。
  3. 网桥docker0创建一对对等虚拟设备接口一个叫veth,另一个叫eth0,成对匹配。

2.实践bridge两两匹配

bash 复制代码
# 查看启动的容器
docker ps
# 查看宿主机网络
ifconfig
# 进入容器查看网络
docker exec -it 容器名 /bin/bash
# 查看ip,veth后面的码值就会和eth0对应上
ifconfig

3.创建network,默认bridge

bash 复制代码
docker network inspect bridge
docker network create my_test
# 查看我之前创建的network,默认是bridge
docker network inspect my_test
相关推荐
像一只黄油飞3 分钟前
第二章-04-数据类型
笔记·python·学习·零基础
elseif1236 分钟前
初学者必背【考点清单(大全)】【上篇】
开发语言·c++·笔记·学习·循环结构·分支结构·考纲
23471021279 分钟前
4.17 学习笔记
开发语言·软件测试·笔记·python·学习
heimeiyingwang12 分钟前
【架构实战】Docker容器网络模型详解
网络·docker·架构
red_redemption24 分钟前
自由学习记录(167)
学习·pawn是客体·pcontroller是主体·world是概念体
扣脑壳的FPGAer25 分钟前
数字信号处理学习笔记--Chapter 1.4.1 时域采样定理基本概念
笔记·学习·信号处理
矢志航天的阿洪30 分钟前
面目标 SAR 回波整体处理过程(教学技术文档)面目标 SAR 回波整体处理过程(教学技术文档)
学习
运维技术小记39 分钟前
这个 MIT 学生用 AI 学习法两天搞定一门课的方法,颠覆认知!
人工智能·学习
Huangjin007_42 分钟前
【C++ STL篇(四)】一文拿捏vector常用接口!
开发语言·c++·学习
渡我白衣44 分钟前
触类旁通——迁移学习、多任务学习与元学习
人工智能·深度学习·神经网络·学习·机器学习·迁移学习·caffe