Docker, Sistemul nu a fost pornit cu systemd ca sistem de init (PID 1). Nu se poate opera (Administrarea sistemului, Centos, Docker)

Uday Kiran Reddy a intrebat.

Încerc să creez un container docker pentru unul dintre serviciile centos create de noi.

Avem 2 fișiere rpm.

După instalarea pe imaginea de bază a centos 8.

Am instalat aceste 2 fișiere rpm în ea.

Dar, atunci când încerc să pornesc serviciul, primesc această eroare. când am ransystemctl start <service_name>

Sistemul nu a fost pornit cu systemd ca sistem de init (PID 1). Nu poate funcționa

Nu a reușit să se conecteze la bus: Host is down

Pe baza, pe baza feedback-ului din diferite postări, am încercat să creez containerul cu pașii de mai jos.

docker run -it -p 8080:80 -p 16700:16700 centos

docker run -it -p 8080:80 -p 16700:16700 –privileged=true centos

Ambele aceeași problemă. Vă rugăm să sugerați.

1 răspunsuri
Henrik Pingel

Docker este conceput în jurul ideii de un singur serviciu pe container. Deși există soluții de rezolvare pentru a face systemd să ruleze într-un container, acestea sunt, după părerea mea, utile doar în contextul lucrărilor de testare ci.

În loc să porniți procesul cu systemctl găsiți comanda reală executată de systemd atunci când se execută systemctl start servicename prin căutarea fișierului ExecStart instrucțiune în fișierul unitar al serviciului. Aceasta este comanda (poate fi necesar să o ajustați puțin) care trebuie setată ca fiind CMD instrucțiune în fișierul Dockerfile.

Comentarii

  • Poți să ne dai comanda pentru a verifica ținta serviciului –  > Por Uday Kiran Reddy.
  • Puteți găsi calea către fișierul unitar (servicename.service) prin rularea systemctl status servicename calea ar trebui să fie în a 2-a linie. –  > Por Henrik Pingel.
  • Se afișează un fișier sh în ExecStart. Când am rulat acel fișier sh, nu se afișează niciun rezultat. Dar, mai jos este conținutul fișierului sh. codeshare.io/anZROX –  > Por Uday Kiran Reddy.
  • Acest răspuns ajută foarte mult. –  > Por vijayraj34.