当前位置: 首页 > news >正文

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

文章目录

  • 一、容器网络分配情况
    • 1.启动容器
    • 2.查看容器的network
    • 3.容器网络分配
  • 二、bridge
    • 1.bridge详细介绍
    • 2.实践bridge两两匹配
    • 3.创建network,默认bridge

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

一、容器网络分配情况

1.启动容器

在这里插入图片描述

2.查看容器的network

#查看容器的network
docker inspect mysql-master

在这里插入图片描述

#查看容器的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会发送什么样的变换呢?

实践:

#停掉原来的服务
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两两匹配

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

在这里插入图片描述

3.创建network,默认bridge

docker network inspect bridge
docker network create my_test
# 查看我之前创建的network,默认是bridge
docker network inspect my_test

在这里插入图片描述

相关文章:

  • 16-网络安全框架及模型-BiBa完整性模型
  • TypeError: control character ‘delimiter‘ cannot be a newline (`\r` or `\n`)
  • OpenGL FXAA抗锯齿算法(Qt)
  • css中的BFC
  • LLM应用的分块策略
  • 记矩阵基础概念
  • OSG读取和添加节点学习
  • 渗透测试 | php的webshell绕过方法总结
  • 《MySQL系列-InnoDB引擎01》MySQL体系结构和存储引擎
  • 黑豹程序员-vue3下载文件
  • 学习笔记 k8s常用kubectl命令
  • LabVIEW各版本安装指南
  • vue3-11
  • 算法学习系列(十四):并查集
  • 开放原子训练营(第四季)TobudOS——TobudOS内核移植(keil版)
  • 网络传输文件的问题
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • ECMAScript6(0):ES6简明参考手册
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript设计模式与开发实践系列之策略模式
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Kibana配置logstash,报表一体化
  • 动态规划入门(以爬楼梯为例)
  • 构建二叉树进行数值数组的去重及优化
  • 技术发展面试
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 阿里云重庆大学大数据训练营落地分享
  • ​linux启动进程的方式
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • (1) caustics\
  • (C++17) optional的使用
  • (二)springcloud实战之config配置中心
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (十六)串口UART
  • (一)kafka实战——kafka源码编译启动
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .Net FrameWork总结
  • .NET 动态调用WebService + WSE + UsernameToken
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @vue/cli脚手架
  • [ 数据结构 - C++]红黑树RBTree
  • [BeginCTF]真龙之力
  • [C/C++]数据结构 深入挖掘环形链表问题
  • [C\C++]读入优化【技巧】
  • [CTO札记]盛大文学公司名称对联
  • [EWS]查找 文件夹