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

docker使用指定的MAC地址启动podman使用指定的MAC地址启动

docker指定固定的mac地址

1】创建自定义桥接网络并配置 MAC 地址保留

docker network create --driver bridge custom_bridge

2】启动容器并指定使用自定义网络

docker run -it --name your-container --network custom_bridge --mac-address 02:42:ac:11:00:02 your-image

--mac-address:直接设置容器的 MAC 地址(需符合格式,用 : 分隔)。
--network custom_bridge:指定容器使用名为custom_bridge的自定义网络。

3】查看docker已创建的网络

1、使用docker network ls命令

docekr network ls --filter driver=bridge

该命令用于列出 Docker 中所有的网络,通过过滤可以找到桥接类型的网络。
--filter driver=bridge 是过滤条件,用于只显示驱动类型为 bridge(桥接)的网络。执行后,会得到类似如下的输出结果:

NETWORK ID     NAME                DRIVER    SCOPE
767c81710959   bridge              bridge    local
115417c815d2   custom_bridge       bridge    local 

NAME 列显示了桥接网络的名称。

2、使用docker network inspect命令查看桥接网络信息

docker network inspect custom_bridge

以上命令式查看名为custom_bridge的桥接网络详细信息
输出结果会包含该桥接网络的 IP 地址池、网关、DNS 设置等详细配置信息,示例如下:

[{"Name": "custom_bridge","Id": "115417c815d2f87c9a87578912e1a815417c815d2f87c9a87578912e1a8","Created": "2024-01-01T12:00:00.000000000Z","Scope": "local","Driver": "bridge","EnableIPv6": false,"IPAM": {"Driver": "default","Options": {},"Config": [{"Subnet": "172.18.0.0/16","Gateway": "172.18.0.1"}]},// 省略其他配置信息}
]

4】修改docker已创建的网络

1、删除原有网络:docker network rm

```bash
docker network rm custom_birdge
```
>以上命令删除要修改的桥接网络,如:删除名为`custom_bridge`的桥接网络

2、重新创建网络并设置新配置:docker network create

```bash
docker network create \ --driver bridge \--subnet 192.168.20.0/24 \--gatawey 192.168.20.1 \ custom_bridge
```
> 使用`docker network create`命令按照新的要求创建桥接网络,比如:设置子网`192.168.20.0/24`,网关设置为`192.168.20.1`等配置

3、重新连接容器:docker network connect

```bash
docker network connect custom_bridge your_container
```
> 如果之前有容器连接到这个网络,需要重新将容器连接到新创建的网络,比如:将`custom_bridge ` 桥接网络与`your_container`容器连接

podman指定固定的mac地址

1】创建 Podman 自定义网络(桥接模式)

podman network create custom_bridge

2】启动容器指定网桥并且固定mac地址

	docker run -it --name your-container --network custom_bridge--mac-address 02:42:ac:11:00:02 your-image

--mac-address:直接设置容器的 MAC 地址(需符合格式,用 : 分隔)。
--network custom_bridge:关联到自定义网络,确保容器在该网络内固定 MAC。

3】查看podman已创建的网络

1、使用podman network list命令

podman network list --filter driver=bridge

该命令用于列出podman中所有的网络,通过过滤可以找到桥接类型的网络
--filter driver=bridge是过滤条件,只显示驱动类型为bridge的网络。执行后,会得到类似如下的输出结果:

NAME            TYPE     DRIVER    SCOPE
bridge          bridge   bridge    local
my_custom_bridge bridge   bridge    local

NAME列显示了桥接网络的名称

2、使用podman network inspect命令

podman network inspect custom_bridge

该命令用于查看指定网络的详细信息,结合podman network list获取网络名称,就可以查看桥接网络的具体配置。
比如以上命令,要查看名为custom_bridge的桥接网络的详细信息:
输出结果包含桥接网络的子网、网关等配置信息,示例如下:

[{"cniVersion": "0.4.0","name": "my_custom_bridge","plugins": [{"bridge": "cni-podman0","hairpinMode": true,"ipMasq": true,"ipam": {"ranges": [[{"subnet": "10.88.0.0/16","gateway": "10.88.0.1"}]],"routes": [{"dst": "0.0.0.0/0"}],"type": "host-local"},"isGateway": true,"type": "bridge"},// 省略其他配置信息]}
]

4】修改podman已创建的网络

方式1: 修改网络配置文件

1、找到对应的CNI配置文件【Linux系统】
```bash
ls /etc/cni/net.d/
```
> podman的CNI配置通常在 `/etc/cni/net.d/`目录下,文件名与桥接网络名称相关。
> 比如桥接网络名为custom_bridge,则对应的配置文件可能是`custom_bridge.conflist`
2、编辑配置文件
> 根绝要求修改配置,比如更改子网、网关等配置
3、重新加载网络配置!!!必要时也要重启涉及到的容器去重新加载最新网络配置

方式2:删除再重建的方式修改网络

1、断开容器与目标网络的链接(可选):podman network disconnect
```bash
# 断开容器与网络的关联(容器需处于运行或停止状态)
podman network disconnect custom_bridge your_container
```
> 以上命令断开 桥接网络`custom_bridge ` 与 容器`your_container`的链接> 如果容器已停止,可以跳过此步骤,直接删除网络(但是建议先断开,避免依赖残留)
2、删除原有桥接网络:podman network rm
```java
podman network rm custom_bridge
```
> 比如删除名为`custom_bridge`的桥接网络> 如果删除失败了(提示网络被使用),可以强制停止并删除关联容器后重试
> ```bash
> # 强制停止容器
>podman stop -f 容器名称或ID
># 删除容器(可选,若需保留容器则无需此步)
>podman rm 容器名称或ID
># 再次删除网络
>podman network rm 网络名称
>```
3、重新创建桥接网络
```bash
podman network create \--driver birdge--subnet 172.20.0.0/24 \--gatawey 172.20.0.1 \custom_bridge
```
> 重新创建`custom_bridge`并设置子网为`172.20.0.0/24`和网关为`172.20.0.1`
4、将容器关联到新网络
情况1:未创建的容器
podman run -d \--name your_container \--network custom_bridge \  # 关联到新创建的网络--mac-address 02:42:ac:11:00:03 \  # 可选:指定固定MAC地址your_image

以上:对于未创建的容器,启动时可以直接指定新的网络

情况2:对于已启动的容器
# 停止容器
podman stop your_container# 重新连接到新网络
podman network connect custom_birdge your_conainer# 重新启动容器
podman start your_container

以上:对于已创建的容器,先停止容器再连接到新网络

http://www.lryc.cn/news/620510.html

相关文章:

  • vllmsglang 单端口多模型部署方案
  • 用飞算JavaAI一键生成电商平台项目:从需求到落地的高效实践
  • Java中加载语义模型
  • 【无标题】卷轴屏手机前瞻:三星/京东方柔性屏耐久性测试进展
  • 2025年世界职业院校技能大赛:项目简介模板
  • 工业一体机5G通讯IC/ID刷卡让MES系统管理更智能
  • SpringBoot 实现在线查看内存对象拓扑图 —— 给 JVM 装上“透视眼”
  • PostgreSQL + TimescaleDB 数据库语法配置
  • C++状态模式详解:从OpenBMC源码看架构、原理与应用
  • linux 下第三方库编译及交叉编译——MDBTOOLS--arm-64
  • uni-app 小程序跳转小程序
  • 《多级缓存架构设计与实现全解析》
  • Canon PowerShot D30相机 CHDK 固件 V1.4.1
  • 将 pdf 转为高清 jpg
  • uni-app实战教程 从0到1开发 画图软件 (橡皮擦)
  • PDF压缩原理详解:如何在不失真的前提下减小文件体积?
  • 高分辨率PDF压缩技巧:保留可读性的最小体积方案
  • 深入理解 RAG:检索增强生成技术详解
  • Hadoop面试题及详细答案 110题 (01-15)-- 基础概念与架构
  • gitlab仓库如何进行多人协作
  • 无人机探测器技术解析
  • GITLAB的Personal Access Tokens 和Project Access Tokens有什么区别
  • 走遍美国 10 Smell the Flowers 偷得浮生半日闲
  • 使用HalconDotNet实现异步多相机采集与实时处理
  • Java基础 8.14
  • 哈希表特性与unordered_map/unordered_set实现分析
  • 【159页PPT】智慧方案企业数字化转型流程体系建设与运营方案(附下载方式)
  • 群晖 NAS 影音访问:通过 cpolar 内网穿透服务实现 Nastool 远程管理
  • openvsx搭建私有插件仓库
  • Elasticsearch RBAC 配置:打造多租户环境的安全访问控制