Erstellen Sie einen Docker-Container aus einem Daemon

Erstellen Sie einen Docker-Container aus einem Daemon

Ich verwende eine Microservices-Architektur. Ich habe meine Daemon-Dienste (Shell-Skript) bereits entwickelt. Jetzt möchte ich jeden davon in einem Docker-Container ausführen. Ich bin neu bei Docker, daher brauche ich einige Empfehlungen wie Dokumente oder Tutorials, die mir zeigen, wie ich diese Daemons an Container anhänge und wie ich die Kommunikation zwischen ihnen sicherstelle.

Antwort1

Normalerweise erstellen Sie ein Docker-Image mit einer Docker-Datei, die:

  • leitet ein Bild ab[1] ( FROM debian)
  • installiert alle zusätzlichen Pakete, die Sie zum Optimieren Ihres Skripts benötigen ( RUN apt install ...)
  • kopiert dein Skript in das Bild ( COPY daemonscript.sh /opt/daemonscript.sh)
  • legt das Skript als auszuführendes Element fest: `ENTRYPOINT ["/bin/bash","/opt/daemonscript.sh","parm1","parm2"]

Sobald Sie das Image haben, können Sie es ausführen. Möglicherweise verwenden Sie dabei „Bind-Mounts“, um Datenverzeichnisse für Ihren Container mit Verzeichnissen auf Ihrem Host zu verknüpfen, wenn Sie Daten über mehrere Ausführungen hinweg beibehalten müssen[2].

Um mehrere Container gemeinsam zu betreiben, ist der einfachere Weg die Verwendung vondocker-compose

[1] Um das richtige Image auszuwählen, sucht man sich normalerweise ein Image aus, bei dem der zusätzliche Installationsaufwand auf ein Minimum beschränkt ist, das aber gleichzeitig nicht mit unnötigem Ballast überladen ist. Man findet lauffähige Images für so ziemlich alles: Apache, nginx, python, wordpress, mysql...

[2] Das Behalten von Daten in der Containerinstanz ist eine schlechte Angewohnheit, ein Container sollte als „flüchtig“ betrachtet werden und natürlich ist das Docker-Image unveränderlich.

verwandte Informationen