我在 Ubuntu 22.04 Server 上使用 Docker 20.10.14,在其中运行了许多容器,并且我正在使用岗楼自动更新容器。
networkd-dispatcher
自从我更新到 Ubuntu 22.04 以来,我在更新容器时收到了过多的日志消息。这是我收到的日志消息:
May 3 01:03:06 xb networkd-dispatcher[1327]: ERROR:Unknown state for interface veth44e6185: initialized
May 3 01:03:06 xb networkd-dispatcher[1327]: Traceback (most recent call last):
May 3 01:03:06 xb networkd-dispatcher[1327]: File "/usr/bin/networkd-dispatcher", line 428, in _receive_signal
May 3 01:03:06 xb networkd-dispatcher[1327]: self.handle_state(iface_name,
May 3 01:03:06 xb networkd-dispatcher[1327]: File "/usr/bin/networkd-dispatcher", line 345, in handle_state
May 3 01:03:06 xb networkd-dispatcher[1327]: raise UnknownState(administrative_state)
May 3 01:03:06 xb networkd-dispatcher[1327]: UnknownState: initialized
May 3 01:03:06 xb networkd-dispatcher[1327]: ERROR:Unknown state for interface veth6d82244: initialized
May 3 01:03:06 xb networkd-dispatcher[1327]: Traceback (most recent call last):
May 3 01:03:06 xb networkd-dispatcher[1327]: File "/usr/bin/networkd-dispatcher", line 428, in _receive_signal
May 3 01:03:06 xb networkd-dispatcher[1327]: self.handle_state(iface_name,
May 3 01:03:06 xb networkd-dispatcher[1327]: File "/usr/bin/networkd-dispatcher", line 345, in handle_state
May 3 01:03:06 xb networkd-dispatcher[1327]: raise UnknownState(administrative_state)
May 3 01:03:06 xb networkd-dispatcher[1327]: UnknownState: initialized
在这种特殊情况下,该接口veth44e6185
是容器升级后仍然存在的接口,而我假设该接口veth6d82244
来自以前的容器,因为该接口不再存在。
我认为这是因为 Docker 网络接口在更新时会为每个容器重新初始化/重新启动。Docker 网络接口很容易识别,因为它们的格式为vethXXXXXXX
,其中X
是十六进制数字。
容器更新后一切都运行正常,但是随着 Ubuntu 20.04 更新到 22.04,错误消息的详细程度急剧增加。
那么,有没有简单而聪明的方法可以networkd-dispatcher
仅禁用 Docker 接口的日志消息?
答案1
networkd-dispatcher
升级到版本似乎2.1-2-ubuntu0.22.04.2
修复了上一个安全更新带来的回归问题(该更新已正确已报告错误)。