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

docker学习(二十一、network使用示例container、自定义)

文章目录

  • 一、container
    • 应用示例
      • 1.需要共用同一个端口的服务,不适用container方式
      • 2.可用示例
      • 3.停掉共享源的容器,其他容器只有本地回环lo地址
    • 总结
  • 二、自定义网络
    • 应用示例
      • 默认bridge,容器间ip通信
      • 默认bridge,容器间服务名不通
    • 自定义网络
    • 总结
  • 三、尝试看图

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

一、container

应用示例

1.需要共用同一个端口的服务,不适用container方式

# 启动一个容器,使用默认bridge的network
docker run -itd -p 8082:80 --name ubuntu2 ubuntu:latest /bin/bash
# 启动一个容器,使用ubuntu2容器的网络
docker run -itd -p 8083:80 --network container:ubuntu2 --name ubuntu3 ubuntu:latest /bin/bash

在这里插入图片描述

2.可用示例

# 启动一个容器,使用默认bridge的network
docker run -itd --name alpine alpine:latest /bin/sh
# 启动一个容器,使用alpine 容器的网络
docker run -itd --network container:alpine --name alpine1 alpine:latest /bin/sh

在这里插入图片描述

# 进入容器查看网络
docker exec -it alpine /bin/sh
ifconfig
exit
docker exec -it alpine1 /bin/sh
ifconfig
exit

可以看到两个容器的ip是同一个,他们都是eth0 172.17.0.3
在这里插入图片描述

3.停掉共享源的容器,其他容器只有本地回环lo地址

# 进入容器查看网络
docker stop alpine
docker exec -it alpine1 /bin/sh
ifconfig
exit

在这里插入图片描述

总结

  • 新建的容器和已经存在的一个容器共享一个网络ip配置,而不是和宿主机共享;
  • 新创建的容器不会创建自己的网卡,配置自己的ip,而是和一个指定的容器共享IP、端口范围等;
  • 共享源容器如果停掉,其他共享这个网络的容器将只有lo回环地址;
  • container网络可以在容器创建时通过 --network container:容器名或容器ID来指定;
  • 两个容器除了网络方面,其他的如文件、进程列表等还是隔离的。

二、自定义网络

应用示例

默认bridge,容器间ip通信

# 启动一个容器,默认网络
docker run -itd -p 8090:80 --name u1 ubuntu:latest /bin/bash
# 启动一个容器,默认网络
docker run -itd -p 8091:80 --name u2 ubuntu:latest /bin/bash
docker exec -it u1 /bin/bash
ip addr
docker exec -it u2 /bin/bash
ip addr
# 在u2中ping u1的ip网络是通的
ping 172.17.0.3

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

docker exec -it u1 /bin/bash
ip addr
# 在u1中ping u2的ip网络是通的
ping 172.17.0.4

在这里插入图片描述
结论:默认bridge的情况下,使用docker内部分配的ip,容器之间可以通过ip通信

默认bridge,容器间服务名不通

docker exec -it u1 /bin/bash
ping u2

在这里插入图片描述
结论:默认bridge的情况下,容器之间不可以通过服务名通信

思考:bridge情况下容器挂了,ip会重新分配,那么使用ip通信是不可靠的,使用服务名又不通,那应该如何解决这个问题呢?

自定义网络

docker network ls
docker network create test_network
docker run -itd -p 8070:80 --network test_network --name u70 ubuntu:latest /bin/bash
docker run -itd -p 8071:80 --network test_network --name u71 ubuntu:latest /bin/bash

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

docker exec -it u70 /bin/bash
ping u71

在这里插入图片描述

总结

  • 创建network,docker network create 自定义名字
  • 在容器创建时通过 --network 自定义的network名字 来指定;
  • 容器之间可以通过ip或主机名通信

三、尝试看图

学到这里应该能大体看懂这个图了,细品一下吧~
在这里插入图片描述

相关文章:

docker学习(二十一、network使用示例container、自定义)

文章目录 一、container应用示例1.需要共用同一个端口的服务,不适用container方式2.可用示例3.停掉共享源的容器,其他容器只有本地回环lo地址 总结 二、自定义网络应用示例默认bridge,容器间ip通信默认bridge,容器间服务名不通 自…...

【Python机器学习系列】一文带你了解机器学习中的Pipeline管道机制(理论+源码)

这是Python机器学习原创文章,我的第183篇原创文章。 一、引言 对于表格数据,一套完整的机器学习建模流程如下: 背景知识1:机器学习中的学习器 【Python机器学习系列】一文搞懂机器学习中的转换器和估计器(附案例&…...

算法基础之整数划分

整数划分 核心思想: 计数类dp 背包做法 f[i][j] 表示 取 1 – i 的物品 总容量为j的选法数量 f[i][j] f[i-1][j] f[i-1][j-v[i]] f[i-1][j-2v[i]] f[i-1][j-3v[i]] ……f[i-1][j-kv[i]] f[i][j-v[i]] f[i-1][j-v[i]] f[i-1][j-2v[i]] f[i-1][j-3v[i]] ……f[i…...

关于“Python”的核心知识点整理大全47

目录 16.1.10 错误检查 highs_lows.py highs_lows.py 16.2 制作世界人口地图:JSON 格式 16.2.1 下载世界人口数据 16.2.2 提取相关的数据 population_data.json world_population.py 16.2.3 将字符串转换为数字值 world_population.py 2world_population…...

Android 8.1 设置USB传输文件模式(MTP)

项目需求,需要在电脑端adb发送通知手机端接收指令,将USB的仅充电模式更改成传输文件(MTP)模式,便捷用户在我的电脑里操作内存文件,下面是我们的常见的修改方式 1、android12以下、android21以上是这种方式…...

模型量化 | Pytorch的模型量化基础

官方网站:Quantization — PyTorch 2.1 documentation Practical Quantization in PyTorch | PyTorch 量化简介 量化是指执行计算和存储的技术 位宽低于浮点精度的张量。量化模型 在张量上执行部分或全部操作,精度降低,而不是 全精度&#xf…...

adb和logcat常用命令

adb的作用 adb构成 client端,在电脑上,负责发送adb命令daemon守护进程adbd,在手机上,负责接收和执行adb命令server端,在电脑上,负责管理client和daemon之间的通信 adb工作原理 client端将命令发送给ser…...

千巡翼X4轻型无人机 赋能智慧矿山

千巡翼X4轻型无人机 赋能智慧矿山 传统的矿山测绘需要大量测绘员通过采用手持RTK、全站仪对被测区域进行外业工作,再通过方格网法、三角网法、断面法等进行计算,需要耗费大量人力和时间。随着无人机航测技术的不断发展,利用无人机作业可以大…...

【Android 13】使用Android Studio调试系统应用之Settings移植(一):编译服务器的配置、AOSP源码的下载、编译、运行

文章目录 1. 篇头语2. 系列文章3. ubuntu 最佳版本3.1 下载并安装3.2 配置AOSP工具链3.3 配置Python多版本支持4. AOSP源码下载4.1 配置repo工具4.2 源码下载5. AOSP编译5.1 添加emulator模拟器配置5.1.1 哪些是支持模拟器的Products?5.1.2 添加方法5.2 编译...

【1】Docker详解与部署微服务实战

Docker 详解 Docker 简介 Docker 是一个开源的容器化平台,可以帮助开发者将应用程序和其依赖的环境打包成一个可移植、可部署的容器。Docker 的主要目标是通过容器化技术实现应用程序的快速部署、可移植性和可扩展性,从而简化应用程序的开发、测试和部…...

C# JsonString转Object以及Object转JsonString

主要讲述了两种方法的转换,最后提供了格式化输出JsonString字符串。 需要引用程序集 System.Web.Extensions.dll、Newtonsoft.Json.dll System.Web.Extensions.dll可直接在程序集中引用,Newtonsoft.Json.dll需要在NuGet中下载引用。 详细代码&#xf…...

华为OD机试真题-中文分词模拟器-2023年OD统一考试(C卷)

题目描述: 给定一个连续不包含空格字符串,该字符串仅包含英文小写字母及英文文标点符号(逗号、分号、句号),同时给定词库,对该字符串进行精确分词。 说明: 1.精确分词: 字符串分词后,不会出现重叠。即“ilovechina” ,不同词库可分割为 “i,love,china” “ilove,c…...

【并发设计模式】聊聊 基于Copy-on-Write模式下的CopyOnWriteArrayList

在并发编程领域,其实除了使用上一篇中的属性不可变。还有一种方式那就是针对读多写少的场景下。我们可以读不加锁,只针对于写操作进行加锁。本质上就是读写复制。读的直接读取,写的使用写一份数据的拷贝数据,然后进行写入。在将新…...

OpenCV中使用Mask R-CNN实现图像分割的原理与技术实现方案

本文详细介绍了在OpenCV中利用Mask R-CNN实现图像分割的原理和技术实现方案。Mask R-CNN是一种先进的深度学习模型,通过结合区域提议网络(Region Proposal Network)和全卷积网络(Fully Convolutional Network)&#xf…...

论文阅读《Rethinking Efficient Lane Detection via Curve Modeling》

目录 Abstract 1. Introduction 2. Related Work 3. BezierLaneNet 3.1. Overview 3.2. Feature Flip Fusion 3.3. End-to-end Fit of a Bezier Curve 4. Experiments 4.1. Datasets 4.2. Evalutaion Metics 4.3. Implementation Details 4.4. Comparisons 4.5. A…...

Leetcode—2660.保龄球游戏的获胜者【简单】

2023每日刷题&#xff08;七十二&#xff09; Leetcode—2660.保龄球游戏的获胜者 实现代码 class Solution { public:int isWinner(vector<int>& player1, vector<int>& player2) {long long sum1 0, sum2 0;int n player1.size();for(int i 0; i &…...

ubuntu服务器上安装KVM虚拟化

今天想着在ubuntu上来安装一个windwos操作系统&#xff0c;原因是因为我们楼上有几台不错的服务器&#xff0c;但是都是linux系统的。 今天我想着要给同事们搭建一个chatgpt环境&#xff0c;用来开发程序&#xff0c;但是ubuntu上其实也可以安装我嫌麻烦&#xff0c;刚好想折腾…...

SpreadJS 集成使用案例

SpreadJS 集成案例 介绍&#xff1a; SpreadJS 基于 HTML5 标准&#xff0c;支持跨平台开发和集成&#xff0c;支持所有主流浏览器&#xff0c;无需预装任何插件或第三方组件&#xff0c;以原生的方式嵌入各类应用&#xff0c;可以与各类后端技术框架相结合。SpreadJS 以 纯前…...

单挑力扣(LeetCode)SQL题:534. 游戏玩法分析 III(难度:中等)

题目&#xff1a;534. 游戏玩法分析 III &#xff08;通过次数23,825 | 提交次数34,947&#xff0c;通过率68.17%&#xff09; Table:Activity----------------------- | Column Name | Type | ----------------------- | player_id | int | | device_id | int…...

【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代

目录 前言 机器视觉 缺陷检测 工业上常见缺陷检测方法 内容简介 作者简介 目录 读者对象 如何阅读本书 获取方式 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站 机器视觉…...

百考通AI智能聚类文献,告别碎片化罗列

撰写文献综述&#xff0c;是学术写作中承上启下的关键一步。它不仅要展示你对研究领域的了解程度&#xff0c;更要体现你的归纳能力、批判思维和问题意识。然而&#xff0c;现实中许多学生却因资料庞杂、逻辑混乱或时间不足&#xff0c;难以写出一篇真正“有据、有理、有深度”…...

告别AWCC臃肿:500KB轻量级Alienware灯光风扇控制终极方案

告别AWCC臃肿&#xff1a;500KB轻量级Alienware灯光风扇控制终极方案 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 厌倦了Alienware Command Center&…...

dSPACE ControlDesk实战:从虚拟CAN信号注入到动态仪表板构建

1. 虚拟CAN信号注入实战 第一次接触dSPACE ControlDesk时&#xff0c;最让我头疼的就是在没有实体ECU的情况下如何模拟CAN总线信号。后来发现ControlDesk自带的CAN Generator工具简直就是虚拟测试的"救命稻草"。这个工具可以完美模拟真实ECU发出的CAN信号&#xff0c…...

制造协同:QNAP 软硬件架构化解汽车冲压车间大文件传输难题

制造协同&#xff1a;QNAP 软硬件架构化解汽车冲压车间大文件传输难题声明&#xff1a;本文围绕大型汽车零部件制造企业冲压车间的工程变更&#xff08;ECO&#xff09;数据流转场景构建虚拟技术方案&#xff0c;旨在探讨分布式网络与底层存储的实时同步逻辑&#xff0c;非特定…...

CGI Studio 3.11:AI驱动与安全合规的嵌入式HMI开发平台解析

1. 项目概述&#xff1a;为什么我们需要CGI Studio这样的HMI设计工具&#xff1f;在嵌入式系统开发领域&#xff0c;尤其是在汽车、工业和高端家电行业&#xff0c;图形用户界面的复杂度和美观度要求正以前所未有的速度提升。十年前&#xff0c;一个简单的单色LCD屏幕配上几个按…...

用Multisim仿真带你玩转钟控触发器:从RS到T触发器的电路搭建与波形验证

用Multisim仿真带你玩转钟控触发器&#xff1a;从RS到T触发器的电路搭建与波形验证 在数字电路设计中&#xff0c;触发器是最基础的时序逻辑单元之一。无论是简单的计数器还是复杂的CPU&#xff0c;都离不开各种触发器的组合应用。但对于初学者来说&#xff0c;仅通过理论公式和…...

告别mmWaveStudio卡顿:手把手教你用DCA1000EVM CLI命令行录制IWR1642雷达数据

告别mmWaveStudio卡顿&#xff1a;手把手教你用DCA1000EVM CLI命令行录制IWR1642雷达数据 在雷达信号处理领域&#xff0c;数据采集的稳定性和效率直接影响后续算法开发的效果。传统图形界面工具mmWaveStudio虽然功能全面&#xff0c;但在长时间连续采集时容易出现卡顿、崩溃等…...

【公安基础知识】01

治安管理处罚- 行政处罚 治安管理处罚- 行政处罚概念特点处罚种类适用范围违反行为处罚程序立案&#xff08;旧 受案&#xff09;调查 &&&&&&&&&&&&&&&&&&&&&&&&&&&…...

大模型微调实战:用LoRA技术微调LLaMA 2模型

在人工智能技术飞速发展的当下&#xff0c;大语言模型&#xff08;LLM&#xff09;在自然语言处理领域展现出了强大的能力。LLaMA 2作为Meta推出的开源大模型&#xff0c;凭借其出色的性能和广泛的适用性&#xff0c;成为了众多开发者和研究人员的首选。对于软件测试从业者而言…...

AUTO TECH China 2026广州汽车零部件展:从整机集成迈向核心部件的产业跃升

AUTO TECH China 2026广州汽车零部件展&#xff1a;从整机集成迈向核心部件的产业跃升当新能源汽车渗透率突破50%大关、汽车产业正经历百年未有的结构性变革之际&#xff0c;整车的差异化竞争优势正悄然从系统集成向功能模块与核心单元下沉。从一体化压铸车身结构件、高精度齿轮…...