Docker Container

Ben

Benutzer
Mitglied seit
25. Nov 2020
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

eines vorweg ich befinde mich auf Neuland und werde daher etwas mehr Zeit benötigen um alles zu verstehen. :)

Ich benötige auf meiner Synologie Docker und den passenden Container jrei\systemd-ubuntu20.04. Soweit so gut, sobald ich ein entsprechendes Image erstelle, kann dieser aber nicht gestartet werden. Folgend die Meldungen die ich im Protokoll dazu finde.

Ist es denn überhaupt möglich diesen Container auf meiner Synologie zu nutzen, muss ich ggf. noch einige Voraussetzungen schaffen?

Wäre schöne wenn sich jemand erbarmen könnte einen Newbie den Weg zuweisen. :)
Eine Verbindung zu meiner DS per SSH kann ich inzwischen aufbauen ? aber leider noch nicht als root, ich denke, dass werden wir brauchen. :unsure:

Exiting PID 1...
stdout
08:56:07Failed to mount tmpfs at /run: Permission denied
stdout
08:56:07Failed to mount tmpfs at /run/lock: Permission denied
stdout
08:56:07Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied
stdout
08:56:07[!!!!!!] Failed to mount API filesystems.


VG

Ben
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.541
Punkte für Reaktionen
1.384
Punkte
234
Log dich als admin ein, tippe dann "sudo -i" und gebe dann noch mal das PW für den admin ein. Schon bist du root.

Hinterlege in deiner Signatur bitte das NAS-Modell. Bei manchen Fragen ist das wichtig zu wissen.
 

Ben

Benutzer
Mitglied seit
25. Nov 2020
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo, vielen Dank schon einmal für die ersten Rückmeldungen. @peterhoffmann Signatur ist eingerichtet, sind ggf. noch weitere Infos notwendig?

@haydibe hier das Dockerfile: (https://registry.hub.docker.com/r/jrei/systemd-ubuntu/dockerfile)

FROM ubuntu:20.04

ENV container docker
ENV LC_ALL C
ENV DEBIAN_FRONTEND noninteractive

RUN sed -i 's/# deb/deb/g' /etc/apt/sources.list

RUN apt-get update \
&& apt-get install -y systemd systemd-sysv \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN cd /lib/systemd/system/sysinit.target.wants/ \
&& ls | grep -v systemd-tmpfiles-setup | xargs rm -f $1

RUN rm -f /lib/systemd/system/multi-user.target.wants/* \
/etc/systemd/system/*.wants/* \
/lib/systemd/system/local-fs.target.wants/* \
/lib/systemd/system/sockets.target.wants/*udev* \
/lib/systemd/system/sockets.target.wants/*initctl* \
/lib/systemd/system/basic.target.wants/* \
/lib/systemd/system/anaconda.target.wants/* \
/lib/systemd/system/plymouth* \
/lib/systemd/system/systemd-update-utmp*

VOLUME [ "/sys/fs/cgroup" ]

CMD ["/lib/systemd/systemd"]


VG

Ben
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.476
Punkte für Reaktionen
359
Punkte
103
Zur Rekapitulation: ein Base-Image ist im Grunde genommen eine "loose" Menge Binaries, Libraries und Konfigurationsdateien, die einem eine minimale, aber dennoch gewohnte Cli-Umgebung des jewiligen OS vermittelt. Es handelt sich hier aber um kein vollständiges OS: kein eigener Kernel, Kein Booten, kein Start von Systemanwendungen, keine vollständige Installation!

Wenn ein Container startet, dann wir das Entrypoint-Skript gestartet (per Default= /bin/sh -c) und CMD als Parameter übergeben, was in Deinem Fall dazu führt, dass der Container beim Start /bin/sh -c '/lib/systemd/systemd' aufruft. Sprich dieser Aufruf muss a) die erwarteten Konfigurationsdateien an gewohnter Stelle finden und b) alle(!) notwendigen Abhängigkeiten müssen im Image vorhanden sein.

Mein Immunsystem hält mich davon ab mir "Systemd in einem Container" näher anzusehen.
Ich hoffe jemand anderes wird dir hier weiterhelfen können.

Viel Erfolg!
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat