Ich habe die neue Dockerfile verbessert. Jeder RUN Befehl erzeugt ein neues Layer. Daher habe ich die mkdir in einen Befehl zusammengeführt. Außerdem habe ich einen neuen System-Benutzer phoneblock mit der uid 999 erstellt. Hierdurch wird der Answerbot nicht mehr als Root ausgeführt. Die kopierten Files gehören jetzt dem neuen User.
Die CMD ist jetzt in ENTRYPOINT und CMD unterteilt. ENTRYPOINT wird immer als Startbefehl genutzt und CMD kann beim Ausführen des Containers überschrieben werden. Hierdurch ist es möglich eine andere Config-File zu werdenden und andere Parameter zu übergeben. Die Reihenfolge, in der die Befehle aneinander gesetzt werden ist ENTRYPOINT + CMD.
MAINTAINER ist deprecated. Stattdessen soll LABEL org.opencontainers.image.authors verwendet werden.
Für das Exponieren der Ports habe ich auf die Kurzschreibweise für Port-Ranges gewechselt.
Aktuell wird ja in Dockerhub nur der Tag latest verwendet. Da dieser recht inconsistent auf Dockerhub verwendet wird, sollte neben dem Tag auch ein Tag um die letzte stabile Version zu kennzeichnen verwendet werden, zum Beispiel stable. Außerdem sollte jedes Release noch ein eindeutiges Tag mit der Versionsnummer bekommen, ansonsten ist die einzige Möglichkeit eine fixe Version des Images zu bekommen, das Nutzen des Hashes.
Ich habe die neue Dockerfile verbessert. Jeder
RUN
Befehl erzeugt ein neues Layer. Daher habe ich diemkdir
in einen Befehl zusammengeführt. Außerdem habe ich einen neuen System-Benutzerphoneblock
mit der uid 999 erstellt. Hierdurch wird der Answerbot nicht mehr als Root ausgeführt. Die kopierten Files gehören jetzt dem neuen User.Die
CMD
ist jetzt inENTRYPOINT
undCMD
unterteilt.ENTRYPOINT
wird immer als Startbefehl genutzt undCMD
kann beim Ausführen des Containers überschrieben werden. Hierdurch ist es möglich eine andere Config-File zu werdenden und andere Parameter zu übergeben. Die Reihenfolge, in der die Befehle aneinander gesetzt werden istENTRYPOINT
+CMD
.MAINTAINER
ist deprecated. Stattdessen sollLABEL org.opencontainers.image.authors
verwendet werden.Für das Exponieren der Ports habe ich auf die Kurzschreibweise für Port-Ranges gewechselt.
Aktuell wird ja in Dockerhub nur der Tag
latest
verwendet. Da dieser recht inconsistent auf Dockerhub verwendet wird, sollte neben dem Tag auch ein Tag um die letzte stabile Version zu kennzeichnen verwendet werden, zum Beispielstable
. Außerdem sollte jedes Release noch ein eindeutiges Tag mit der Versionsnummer bekommen, ansonsten ist die einzige Möglichkeit eine fixe Version des Images zu bekommen, das Nutzen des Hashes.