我正在运行一个基于ubuntu:14.04的容器,我需要能够在其中使用avahi-browse。然而:
(.env)root@8faa2c44e53e:/opt/cluster-manager# avahi-browse -a
Failed to create client object: Daemon not running
(.env)root@8faa2c44e53e:/opt/cluster-manager# service avahi-daemon status
Avahi mDNS/DNS-SD Daemon is running我遇到的实际问题是一个pybonjour错误;pybonjour.BonjourError: (-65537, 'unknown'),但是我已经看到了与avahi守护进程的问题有关的链接。
那么,如何从容器连接到avahi守护进程呢?
我必须在avahi-daemon.conf填充中关闭dbus以使启动它成为可能,否则avahi-daemon将无法启动,并出现如下dbus错误:(.env)root@8faa2c44e53e:/opt/cluster-manager# avahi-daemon Found user 'avahi' (UID 103) and group 'avahi' (GID 107). Successfully dropped root privileges. avahi-daemon 0.6.31 starting up. dbus_bus_get_private(): Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory WARNING: Failed to contact D-Bus daemon. avahi-daemon 0.6.31 exiting.。
发布于 2020-06-21 18:24:51
就我的测试而言,您可以使用主机的avahi守护进程通过Unix来解析mDNS并使用/var/run/dbus进行avali-浏览。
例如:
docker run -v /var/run/dbus:/var/run/dbus -v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket -ti debian:10-slim bash要在容器内进行测试:
apt-get update && apt-get install avahi-utils iputils-ping -y
ping whatever.local
avahi-browse -a发布于 2015-07-03 00:30:11
Avahi需要D总线才能与客户进行通信.听起来你的码头集装箱没有启动系统D总线。如果你这样做,那么阿瓦希应该能工作。
您需要D总线的大多数avahi的功能(包括avahi浏览),所以禁用它不会有真正的帮助。
发布于 2016-06-15 12:50:09
据推测,在容器中有一个支持avahi的码头形象。诀窍似乎是将/var/run/dbus从主机装入容器中。
请注意,我无法使它运行在我的16.04图像。主持人。
https://stackoverflow.com/questions/30646943
复制相似问题