1.创建用户自定义的 alpine-net 网络

[root@host1 ~]# docker network create --driver bridge alpine-net
9f6d634e6bd7327163a9d83023e435da6d61bc6cf04c9d96001d1b64eefe4a71

2.列出 Docker 主机上的网络

[root@host1 ~]# docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
9f6d634e6bd7   alpine-net   bridge    local
db2f3a6af212   bridge       bridge    local
4251d9be020b   host         host      local
ba96ad98e029   none         null      local

        查看该网络的详细信息

[root@host1 ~]# docker network inspect alpine-net
[{"Name": "alpine-net","Id": "9f6d634e6bd7327163a9d83023e435da6d61bc6cf04c9d96001d1b64eefe4a71","Created": "2025-09-11T23:44:03.139792399+08:00","Scope": "local","Driver": "bridge","EnableIPv4": true,"EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "172.18.0.0/16","Gateway": "172.18.0.1"}]},"Internal": false,"Attachable": false,"Ingress": false,"ConfigFrom": {"Network": ""},"ConfigOnly": false,"Containers": {},"Options": {},"Labels": {}}
]

3.分别创建 4 个 Alpine 容器(这里我创建的都是一个类型,根据自己的需求创建)

[root@host1 ~]# docker run -dit --name alpine1 --network alpine-net alpine ash
a4fa900ee55e683cf5b1de1d1c4b9d1f4595dba20daa53bbd7ed041c9a2b9ff5
[root@host1 ~]# docker run -dit --name alpine2 --network alpine-net alpine ash
065be7f4fadedbe63bbc2b2e73a408f40876a2fae9609830290ced37bd456bc8
[root@host1 ~]# docker run -dit --name alpine3 --network alpine-net alpine ash
cc049a88659c173e82713a1fa74c13f176e4c1095b64a973dfa8e73abf053557
[root@host1 ~]# docker run -dit --name alpine4 --network alpine-net alpine ash
b2f77131151cd9cb5136b5115c3530f1ba915caccc7f64223ba03ea6d7285877

        将 alpine4 容器连接到默认桥接网络

[root@host1 ~]# docker network connect bridge alpine4

        查看所有正在运行的容器,结果表明容器正常运行

[root@host1 ~]# docker container ls
CONTAINER ID   IMAGE      COMMAND                   CREATED              STATUS              PORTS                                         NAMES
b2f77131151c   alpine     "ash"                     53 seconds ago       Up 53 seconds                                                     alpine4
cc049a88659c   alpine     "ash"                     59 seconds ago       Up 58 seconds                                                     alpine3
065be7f4fade   alpine     "ash"                     About a minute ago   Up About a minute                                                 alpine2
a4fa900ee55e   alpine     "ash"                     About a minute ago   Up About a minute                                                 alpine1
0dbf7ea2178e   registry   "/entrypoint.sh /etc…"   33 hours ago         Up 36 minutes       0.0.0.0:5000->5000/tcp, [::]:5000->5000/tcp   myregistry

4.查看连接网络详细信息

[root@host1 ~]# docker network inspect alpine-net
[{"Name": "alpine-net","Id": "9f6d634e6bd7327163a9d83023e435da6d61bc6cf04c9d96001d1b64eefe4a71","Created": "2025-09-11T23:44:03.139792399+08:00","Scope": "local","Driver": "bridge","EnableIPv4": true,"EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "172.18.0.0/16","Gateway": "172.18.0.1"}]},"Internal": false,"Attachable": false,"Ingress": false,"ConfigFrom": {"Network": ""},"ConfigOnly": false,"Containers": {"065be7f4fadedbe63bbc2b2e73a408f40876a2fae9609830290ced37bd456bc8": {"Name": "alpine2","EndpointID": "80b24a7d84cbd2c015d7f18903d466644983e07317a669c766b6fda494919c5e","MacAddress": "7e:06:dc:bc:69:9e","IPv4Address": "172.18.0.3/16","IPv6Address": ""},"a4fa900ee55e683cf5b1de1d1c4b9d1f4595dba20daa53bbd7ed041c9a2b9ff5": {"Name": "alpine1","EndpointID": "0d859ee29448bbb4f19f855ee54a23668817d82a754c08476e286b2d525f0ac0","MacAddress": "86:67:e5:e7:17:a8","IPv4Address": "172.18.0.2/16","IPv6Address": ""},"b2f77131151cd9cb5136b5115c3530f1ba915caccc7f64223ba03ea6d7285877": {"Name": "alpine4","EndpointID": "e85a0e3bd691fed7e81c5e65e5c8b24b8d1783166d2684c820db8c63355df056","MacAddress": "22:3f:d3:cc:ad:7d","IPv4Address": "172.18.0.5/16","IPv6Address": ""},"cc049a88659c173e82713a1fa74c13f176e4c1095b64a973dfa8e73abf053557": {"Name": "alpine3","EndpointID": "c91b18ee977e9c7e15470256ca779950d901f5c70b517d94a34ad405845b32d8","MacAddress": "ca:14:42:da:65:e1","IPv4Address": "172.18.0.4/16","IPv6Address": ""}},"Options": {},"Labels": {}}
]

5.自动服务功能发现

[root@host1 ~]# docker attach alpine1
/ # ping -c 2 alpine2
PING alpine2 (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.054 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.062 ms--- alpine2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.054/0.058/0.062 ms
/ # ping -c 2 alpine4
PING alpine4 (172.18.0.5): 56 data bytes
64 bytes from 172.18.0.5: seq=0 ttl=64 time=0.054 ms
64 bytes from 172.18.0.5: seq=1 ttl=64 time=0.062 ms--- alpine4 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.054/0.058/0.062 ms
/ # ping -c 2 alpine3
PING alpine3 (172.18.0.4): 56 data bytes
64 bytes from 172.18.0.4: seq=0 ttl=64 time=0.060 ms
64 bytes from 172.18.0.4: seq=1 ttl=64 time=0.061 ms--- alpine3 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.060/0.060/0.061 ms
/ # ping -c 2 172.17.0.3
PING 172.17.0.3 (172.17.0.3): 56 data bytes--- 172.17.0.3 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss

6.连通问题(我设置的都是在同一网络中,所以都能通)

        脱离 alpine1 容器而不要停止他(Ctrl + P + Q)

/ # read escape sequence

7. alpine4 容器测试

[root@host1 ~]# docker attach alpine4
/ # ping -c 2 alpine1
PING alpine1 (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: seq=0 ttl=64 time=0.037 ms
64 bytes from 172.18.0.2: seq=1 ttl=64 time=0.060 ms--- alpine1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.037/0.048/0.060 ms
/ # ping -c 2 alpine2
PING alpine2 (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.074 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.065 ms--- alpine2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.065/0.069/0.074 ms
/ # ping -c 2 alpine3
PING alpine3 (172.18.0.4): 56 data bytes
64 bytes from 172.18.0.4: seq=0 ttl=64 time=0.099 ms
64 bytes from 172.18.0.4: seq=1 ttl=64 time=0.061 ms--- alpine3 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.061/0.080/0.099 ms

8.访问外网

/ # ping -c 2 www.baidu.com
PING www.baidu.com (103.235.46.102): 56 data bytes
64 bytes from 103.235.46.102: seq=0 ttl=127 time=242.857 ms
64 bytes from 103.235.46.102: seq=1 ttl=127 time=237.804 ms--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 237.804/240.330/242.857 ms
/ # read escape sequence

        退出

测试其他容器

[root@host1 ~]# docker attach alpine3
/ # ping -c 2 www.baidu.com
PING www.baidu.com (103.235.46.115): 56 data bytes
64 bytes from 103.235.46.115: seq=0 ttl=127 time=237.227 ms
64 bytes from 103.235.46.115: seq=1 ttl=127 time=246.838 ms--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 237.227/242.032/246.838 ms
/ # read escape sequence
[root@host1 ~]# docker attach alpine1
/ # ping -c 2 www.baidu.com
PING www.baidu.com (103.235.46.102): 56 data bytes
64 bytes from 103.235.46.102: seq=0 ttl=127 time=237.112 ms
64 bytes from 103.235.46.102: seq=1 ttl=127 time=240.606 ms--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 237.112/238.859/240.606 ms
/ # read escape sequence

9.停止并删除以上实验用到的所有容器和 alpine-net 网络,恢复实验环境

[root@host1 ~]# docker container stop alpine1 alpine2 alpine3 alpine4
alpine1
alpine2
alpine3
alpine4
[root@host1 ~]# docker container rm alpine1 alpine2 alpine3 alpine4
alpine1
alpine2
alpine3
alpine4
[root@host1 ~]# docker network rm alpine-net
alpine-net

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/96587.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96587.shtml
英文地址,请注明出处:http://en.pswp.cn/web/96587.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3 + Vite + Element Plus web转为 Electron 应用,解决无法登录、隐藏自定义导航栏

如何在vue3 Vite Element Plus搭好的架构下转为 electron应用呢? https://www.electronjs.org/zh/docs/latest/官方文档 https://www.electronjs.org/zh/docs/latest/ 第一步:安装 electron相关依赖 npm install electron electron-builder concurr…

qt QAreaLegendMarker详解

1. 概述QAreaLegendMarker 是 Qt Charts 模块中的一部分,用于在图例(Legend)中表示 QAreaSeries 的标记。它负责显示区域图的图例项,通常包含区域颜色样例和对应的描述文字。图例标记和对应的区域图关联,显示区域的名称…

linux 函数 kstrtoul

kstrtoul 函数概述 kstrtoul 是 Linux 内核中的一个函数&#xff0c;用于将字符串转换为无符号长整型&#xff08;unsigned long&#xff09;。该函数定义在 <linux/kernel.h> 头文件中&#xff0c;常用于内核模块中解析用户空间传递的字符串参数。 函数原型 int kstrtou…

LLM(三)

一、人类反馈的强化学习&#xff08;RLHF&#xff09;微调的目标是通过指令&#xff0c;包括路径方法&#xff0c;进一步训练你的模型&#xff0c;使他们更好地理解人类的提示&#xff0c;并生成更像人类的回应。RLHF&#xff1a;使用人类反馈微调型语言模型&#xff0c;使用强…

DPO vs PPO,偏好优化的两条技术路径

1. 背景在大模型对齐&#xff08;alignment&#xff09;里&#xff0c;常见的两类方法是&#xff1a;PPO&#xff1a;强化学习经典算法&#xff0c;OpenAI 在 RLHF 里用它来“用奖励模型更新策略”。DPO&#xff1a;2023 年提出的新方法&#xff08;参考论文《Direct Preferenc…

BLE6.0信道探测,如何重构物联网设备的距离感知逻辑?

在物联网&#xff08;IoT&#xff09;无线通信技术快速渗透的当下&#xff0c;实现人与物、物与物之间对物理距离的感知响应能力已成为提升设备智能高度与人们交互体验的关键所在。当智能冰箱感知用户靠近而主动亮屏显示内部果蔬时、当门禁系统感知到授权人士靠近而主动开门时、…

【计算机 UTF-8 转换为本地编码的含义】

UTF-8 转换为本地编码的含义 详细解释一下"UTF-8转换为本地编码"的含义以及为什么在处理中文时这很重要。 基本概念 UTF-8 编码 国际标准&#xff1a;UTF-8 是一种能够表示世界上几乎所有字符的 Unicode 编码方式跨平台兼容&#xff1a;无论在哪里&#xff0c;UTF-8 …

4.6 变体

1.变体简介 2.为什么需要变体 3.变体是如何产生的 4.变体带来的麻烦 5.multi_compile和shader_feature1.变体简介 比如我们开了一家餐厅, 你有一本万能的菜单(Shader源代码), 上面包含了所有可能的菜式; 但是顾客每次来点餐时, 不可能将整本菜单都做一遍, 他们会根据今天有没有…

猿辅导Android开发面试题及参考答案(下)

为什么开发中要使用线程池,而不是直接创建线程(如控制线程数量、复用线程、降低开销)? 开发中优先使用线程池而非直接创建线程,核心原因是线程池能优化线程管理、降低资源消耗、提高系统稳定性,而直接创建线程存在难以解决的缺陷,具体如下: 控制线程数量,避免资源耗尽…

【网络通信】IP 地址深度解析:从技术原理到企业级应用​

IP 地址深度解析&#xff1a;从技术原理到企业级应用​ 文章目录IP 地址深度解析&#xff1a;从技术原理到企业级应用​前言一、基础认知&#xff1a;IP 地址的技术定位与核心特性​1.1 定义与网络层角色1.2 核心属性与表示法深化二、地址分类&#xff1a;从类别划分到无类别路…

grafana实践

一、如何找到grafana的插件目录 whereis grafana grafana: /etc/grafana /usr/share/grafana插件安装目录、默认安装目录&#xff1a; 把vertamedia-clickhouse-datasource-3.4.4.zip解压到下面目录&#xff0c;然后重启就可以了 /var/lib/grafana/plugins# 6. 设置权限 sudo …

uniapp 文件查找失败:main.js

重装HbuilderX vue.config.js 的 配置 有问题main.js 框架能自动识别 到&#xff0c;不用多余的配置

KEIL烧录时提示“SWD/JTAG communication failure”的解决方法

最新在使用JTAG仿真器串口下载调试程序时&#xff0c;老是下载不成功&#xff0c;识别不到芯片&#xff0c;我尝试重启keil5或者重新插拔仿真器连接线、甚至重启电脑也都不行&#xff0c;每次下载程序都提示如下信息&#xff1a;在确定硬件连接没有问题之后&#xff0c;就开始分…

红日靶场(三)——个人笔记

环境搭建 添加一张网卡&#xff08;仅主机模式&#xff09;&#xff0c;192.168.93.0/24 网段 开启centos&#xff0c;第一次运行&#xff0c;重启网络服务 service network restart192.168.43.57/24&#xff08;外网ip&#xff09; 192.168.93.100/24&#xff08;内网ip&am…

车载网关框架 --- 车内网关IP转CAN链路解析 done

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

lvgl修改输入设备驱动使其支持鼠标右键、双击、滑轮...

我在前几章移植 lvgl 到linux上时讲过注册鼠标驱动部分&#xff0c;那时候使用的时默认提供的驱动&#xff0c;支持的鼠标功能很少&#xff0c;只有左键点击&#xff0c;那时候我提过我们可以修改驱动使其支持&#xff0c;下面是具体的实现。看上面代码&#xff0c;我们当时是直…

SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类

1. 报错SpringBoot项目&#xff0c;在随机某个类使用main方法&#xff0c;点击运行/调试报错错误: 找不到或无法加载主类 com.central.workorder.config.PropertyEncrypt 原因: java.lang.ClassNotFoundException: com.central.workorder.config.PropertyEncrypt2. 原因缩短命令…

React 核心 Hook 与冷门技巧:useReducer、useEffect、useRef 及 is 属性全解析

&#x1f4da; 前言React 的函数组件 Hooks 模式已经成为现代前端开发的主流。相比类组件&#xff0c;Hooks 让状态管理和副作用处理更加简洁和可复用。但在实际开发中&#xff0c;除了常用的 useState 和 useEffect&#xff0c;还有很多“进阶武器”值得我们掌握。本文将深入…

通义灵码产品演示: 数据库设计与数据分析

作者&#xff1a;了哥 演示主题&#xff1a;AI 进行数据库设计以及做数据分析 演示目的 演示通义灵码对于数据库的设计能力以及数据分析能力。 演示准备 准备数据库&#xff0c;这里为了简单实用 sqlite3 brew install sqlite3使用 vscode&#xff0c;同时安装好通义灵码的插件…

MySQL主从同步参数调优案例

#作者&#xff1a;stackofumbrella 文章目录一、前言二、故障概述2.1 基础信息2.2 故障现象描述三、故障诊断分析3.1 排查过程3.2 问题根因四、故障解决方案 &#x1f4ca;4.1 解决方案 &#x1f6e0;️五、总结附件一、前言 在磐基系统中大量使用MySQL作为后端的数据存储&…