Es scheint systemd
ist nicht aktiv oder in Ubuntu Docker Bilder verfügbar.systemd und systemctl in Ubuntu Docker Bilder
Ich benutze Docker Container aus den Bildern ubuntu:16.04
und ubuntu:16.10
.
Wenn ich systemctl status ssh
im 16,04
Container ausführen, ist das Ergebnis der Fehler Failed to connect to bus: No such file or directory
. Im Container 16.10
ist der Fehler bash: systemctl: command not found
.
Wenn ich tun which systemctl
systemctl ist in der 16.04
Container aber nicht in der 16.10
Container gefunden.
Ich habe festgestellt, dass /lib/systemd
existiert.
Ich habe versucht, Systemd mit apt-get install systemd libpam-systemd systemd-ui
zu installieren. Dann which systemctl
Funde systemctl in 16.10
aber systemctl status ssh
gibt immer noch den Fehler Failed to connect to bus: No such file or directory
Meine Hauptfrage ist: Wie kann systemd und systemctl für den Einsatz in Ubuntu Docker Bilder aktiviert werden?
Warum ist Systemd nicht in Ubuntu Docker Containern aktiv? Wird systemd nicht zum Instanziieren des Containers verwendet?
Ich habe versagt für Ubuntu/Ubuntu Docker Bilder alle Unterlagen zu diesem Thema zu finden, die nur Informationen über den Ubuntu Übergang Upstart
-systemd
. Gibt es Unterlagen, die eine vollständige Erklärung geben?
Wenn Sie ein voll funktionsfähiges Init-System haben möchten, verwenden Sie eine virtuelle Maschine. – user2105103
Es gibt mehrere Vorschläge, ein Init-System an PID-1 in einem Container zu imitieren. Grundsätzlich sollte es auf das SIGTERM reagieren, das von "docker stop" gesendet wird und es an andere Prozesse im Container verteilt. Und es sollte in der Lage sein, Zombies von getöteten Hintergrundprozessen zu ernten. => Jetzt ist es nur noch eine der Implementierungen zu wählen. Einige portieren nur eine echte "init" in C/C++, andere machen Skripte um signal (3) und waitpid (3) in einer höheren Programmiersprache - Pythons "signal" -Standardbibliothek funktioniert auch dafür. (wie in meinem docker-systemctl-replacement script gezeigt) –