当前位置: 首页 > 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.dtcms.com/a/330689.html

相关文章:

  • 同创永益 IStorM CNBR云原生业务韧性管理平台 v3.3.0重磅发布:告别备份烦恼,云原生数据保护再升级!
  • 深度学习——03 神经网络(4)-正则化方法价格分类案例
  • MacOS 系统计算机专业好用工具安装
  • Nginx学习笔记(九)—— Nginx Rewrite深度解析
  • C++ STL学习 之 泛型编程
  • Unity Shader unity文档学习笔记(十九):粘土效果,任意网格转化成一个球(顶点动画,曲面着色器)
  • 算法提升之树上问题-(LCA)
  • vue3使用leaflet地图
  • **超融合架构中的发散创新:探索现代编程语言的挑战与机遇**一、引言随着数字化时代的快速发展,超融合架构已成为IT领域的一种重要趋势
  • 【入门级-算法-2、入门算法:枚举法】
  • 代码随想录Day50:图论(图论理论、深度搜索理论、所有可达路径、广度搜索理论)
  • 表单输入绑定详解
  • 给电脑升级内存,自检太慢,以为出错
  • FPS游戏时,你的电脑都在干什么(CS2)
  • langchain入门笔记03:使用fastapi部署本地大模型后端接口,优化局域网内的问答响应速度
  • 网页加载缓慢系统排查与优化指南
  • 消费级显卡分布式智能体协同:构建高性价比医疗AI互动智能体的理论与实践路径
  • npm介绍,指令合集,换源指令
  • 【大文件上传】分片上传+断点续传+Worker线程计算Hash
  • Bean的生命周期
  • (2-10-1)MyBatis的基础与基本使用
  • 【word】一次选中全部表格,宏方法
  • [工具]vscode 使用AI 优化代码
  • week1-[分支结构]中位数
  • AI技术产品化:核心认知与实战指南
  • 【深度学习计算性能】04:硬件
  • 集成电路学习:什么是Machine Learning机器学习
  • 云原生存储架构设计与性能优化
  • 自动驾驶轨迹规划算法——Apollo OpenSpace Planner
  • 利用GISBox完成超图S3M与OSGB三维模型格式的转换