docker - 如何从Docker容器中``avahi浏览''?

标签 docker mdns avahi

我正在运行基于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-daemon的问题有关的链接。

所以;如何从容器连接到avahi-daemon?

附言我必须在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.

最佳答案

据我测试,您可以通过Unix套接字使用主机的avahi-daemon进行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

关于docker - 如何从Docker容器中``avahi浏览''?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30646943/

相关文章:

mysql - 如何从主机连接到在 Docker 上运行的 MySQL

docker - 如何编写一个可以在一个命令中运行Docker卷创建的脚本

mongodb - 无法连接到 gitlab 内的 mongo docker

android - NsdManager 发现不适用于 Android 9

c - Avahi dns_sd 兼容层无法运行浏览回调

c++ - 链接错误 : undefined reference to `avahi_alternative_service_name'

docker - 需要帮助使用 docker 设置 Rasa NLU 服务器

javascript - 这个数字在 mdn 的浏览器支持部分意味着

c - 如何解析 MDNS 响应?

dns - 转储 Avahi & Bonjour、DNS-SD 区域文件