我正在使用新的 Quadlet 自动启动 podman 容器,使用以下 systemd 配置从 dhcp 服务器获取其 IP:
adguard.container
[Unit]
Description=Adguard Container
[Container]
Image=docker.io/adguard/adguardhome:latest
AutoUpdate=registry
ContainerName=AdguardHome
HostName=adguard
Volume=/opt/adguardhome/conf:/opt/adguardhome/conf
Volume=/opt/adguardhome/work:/opt/adguardhome/work
Network=adguard.network
[Service]
Restart=always
[Install]
WantedBy=default.target
和
adguard.network
[Unit]
Description=Adguard network
[Network]
NetworkName=adguard-network
Driver=macvlan
Options=parent=enu1u1
Subnet=172.16.0.0/24
IPRange=172.16.0.1/25
Gateway=172.16.0.1
工作正常。
问题是每次启动后mac地址都不是固定的,我无法使用我的dhcp服务器将相同的ip分配给容器。
如何修复这个macvlan容器mac地址?
在 podman-compose (docker-compose) 中,可以使用 https://docs.docker.com/compose/compose-file/05-services/#mac_address.
来完成此操作谢谢
您可以使用
PodmanArgs=--mac-address 12:34:56:78:9a:bc
设置不是 有效 podman 单元键(根据手册页) 的额外选项。
PodmanArgs
可以多次指定,您可能还希望 --replace
以避免冲突。
如果您需要类似
Options=isolate=true
之类的内容,您还可以指定(网络)驱动程序选项。
您还可以试运行四元组生成器来检查错误(例如将值放入错误的单元文件类型中):
/usr/libexec/podman/quadlet -dryrun
(+ -user
表示无根)ExecStart
行。