Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to 'avahi-browse' from a docker container?

Tags:

docker

mdns

avahi

I'm running a container based on ubuntu:14.04, and I need to be able to use avahi-browse inside it. However:

(.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

The actual problem I have is a pybonjour error; pybonjour.BonjourError: (-65537, 'unknown') but I've read that is linked to the problem with the avahi-daemon.

So; how do I connect to the avahi-daemon from the container ?

P.S. I have to switch dbus off in the avahi-daemon.conf fill to make it possible to start it, otherwise avahi-daemon won't start, with a dbus error like this: (.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.

like image 636
bart van deenen Avatar asked Jun 04 '15 14:06

bart van deenen


1 Answers

As far I can test you can use host's avahi-daemon through Unix socket for mDNS to resolve and /var/run/dbus for avali-browse to work.

E.g.:

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

To test inside container:

apt-get update && apt-get install avahi-utils iputils-ping -y

ping whatever.local

avahi-browse -a
like image 84
leumasino Avatar answered Sep 17 '22 22:09

leumasino