Ich versuche, Mandos in einem Docker-Container einzurichten und mit dbus-Fehlern fehlgeschlagen. Es ist möglich, den Server ohne dbus auszuführen, aber mandos-ctl und mandos-monitor benötigen dbus, um zu laufen.Mandos in Docker
mein Dockerfile
FROM ubuntu:16.04
RUN locale-gen de_DE.UTF-8
ENV TERM=xterm
RUN apt-get update \
&& apt-get install -y mandos \
fping \
dbus \
&& rm -rf /var/lib/apt/lists/*
es Körperbau: docker build -t mandos-server .
Wenn ich /var/run/dbus
Host montieren und den Behälter beginnen mit: docker run -v /dev/log:/dev/log -v /var/run/dbus:/var/run/dbus -it mandos-server bash
und starten mandos --debug
ich folgende Fehler:
2016-06-16 15:26:30,278 root [11]: DEBUG: Did setuid/setgid to 108:111
2016-06-16 15:26:30,280 root [11]: ERROR: Disabling D-Bus:
Traceback (most recent call last):
File "/usr/sbin/mandos", line 3009, in main
do_not_queue=True)
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 131, in __new__
retval = bus.request_name(name, name_flags)
File "/usr/lib/python2.7/dist-packages/dbus/bus.py", line 303, in request_name
'su', (name, flags))
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.362" is not allowed to own the service "se.recompile.Mandos" due to security policies in the configuration file
Zweiter Versuch: Starten des Containers ohne Montage dbus docker run -v /dev/log:/dev/log -it mandos-server bash
und Start-dbus von Hand: /etc/init.d/dbus start * Starting system message bus dbus [ OK ]
mandos --debug
leeds zu dem folgenden Fehler:
2016-06-16 15:36:38,338 root [40]: DEBUG: Did setuid/setgid to 108:111
2016-06-16 15:36:38,353 root [40]: WARNING: Could not load persistent state: No such file or directory
2016-06-16 15:36:38,359 root [40]: WARNING: No clients defined
2016-06-16 15:36:38,361 root [40]: INFO: Now listening on address '::', port 39145, flowinfo 0, scope_id 0
2016-06-16 15:36:38,363 dbus.proxies [40]: ERROR: Introspect error on org.freedesktop.Avahi:/: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.FileInvalid: Cannot do system-bus activation with no user
2016-06-16 15:36:38,363 dbus.proxies [40]: DEBUG: Executing introspect queue due to error
2016-06-16 15:36:38,363 root [40]: CRITICAL: D-Bus Exception
Traceback (most recent call last):
File "/usr/sbin/mandos", line 3415, in main
service.activate()
File "/usr/sbin/mandos", line 470, in activate
self.server_state_changed(self.server.GetState())
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
**keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.Spawn.FileInvalid: Cannot do system-bus activation with no user
Jede Idee, was falsch läuft und vielleicht eine Lösung?
Laufen Sie Avahi im Container? – Teddy
Hast du das funktioniert? Ich verstehe Teddys Aussage über Avahi beim Gastgeber, hoffe aber, dass ich das Rad nicht neu erfinden muss. – claytond