我迫切需要一个比以下更好的方法来刷新 dnsmasq 配置:如何让内置 DHCP 根据名称而不是 MAC 地址为 LXC 容器分配静态 IP。当我添加另一个容器时,我无法承受总是重新启动所有容器的负担。
我认为解决这个问题最合适的方法是重新设计/etc/init/lxc-net.conf
新贵的工作,这样它就不会处理两个都lxc桥和dnsmasq。
如果 dnsmasq 与 upstart 兼容,那么问题就会相当简单,因为它可以与 或没有任何 expect 节一起expect daemon
工作expect fork
。
dnsmasq
提供了一种提供其进程 pid 的方法 - 如果只有一种方法可以将该信息转发给 upstart...
需要说明的是,该dnsmasq
软件包本身的初始化脚本尚未移植到 upstart。
答案1
您可以使用此存储库中的 Upstart 作业和 shell 脚本:https://github.com/CameronNemo/lxc-net。
要在不拆除网桥的情况下重新启动 dnsmasq,只需使用以下restart
命令(do不是stop
然后使用start
,这将拆除桥梁)。
请注意,您需要将配置从 /etc/default/lxc-net 迁移到 /etc/lxc-net。