Dieses Mal werde ich nach dem vorherigen die grundlegende Schreibmethode von Docker vorstellen.
Es wurde aus den ursprünglichen ** Best Practices zum Schreiben von Dockerfiles ** extrahiert.
Wenn Sie das Video überprüfen möchten, klicken Sie bitte hier. [YouTube Video] Einführung in die Best Practices von Dockerfile! Wie viele kannst du machen?
Sie können Dateien wie .gitignore festlegen, die Sie dem Container nicht hinzufügen möchten.
# .dockerignore
*/tmp
Starten Sie Rails, MySQL, Nginx usw. nicht in einem Container (Dockerfile). Es wird schwierig sein, die Version zu aktualisieren, und es wird schwierig sein, die Ursache zu isolieren.
Jedes Mal, wenn Docker RUN, ADD, COPY ausführt, wird vorübergehend ein Image erstellt. Dies wirkt sich auch auf die Lesbarkeit der Docker-Datei aus. Versuchen Sie daher, sie nicht so weit wie möglich zu teilen.
Nennen Sie es mit der AS-Klausel in FROM wie folgt. Sie können das Zwischenbild entfernen, indem Sie beim Neuerstellen einer neuen Ebene angeben, was Sie benannt haben.
In diesem Beispiel wird Go verwendet, aber auch Node scheint nützlich zu sein.
FROM golang:1.11-alpine AS build
####Paket Einführung&Bauen####
RUN apk add --no-cache git
RUN go get github.com/golang/dep/cmd/dep
COPY Gopkg.lock Gopkg.toml /go/src/project/
WORKDIR /go/src/project/
RUN dep ensure -vendor-only
COPY . /go/src/project/
RUN go build -o /bin/project
####Ende des Builds####
#Erstellen Sie eine neue Ebene
FROM scratch
COPY --from=build /bin/project /bin/project
ENTRYPOINT ["/bin/project"]
CMD ["--help"]
Das Anordnen der Argumente in alphabetischer Reihenfolge verbessert die Lesbarkeit.
RUN apt-get update && apt-get install -y bzr cvs git
Sie können das Alpenbild verwenden, um die Kapazität zu reduzieren (5 m oder weniger). Alpine ist übrigens ein Bild von BusyBox plus Paketmanager apk. Da die Belastung des Host-Betriebssystems verringert werden kann, kann dies in einer Entwicklungsumgebung sinnvoll sein.
Wenn Sie ein Upgrade durchführen, aktualisieren Sie die Basis-Image-Version.
ADD ist ein vielseitiger Befehl, der sich unerwartet verhalten kann. Wenn Sie Dateien vom Host-Betriebssystem auf das Gast-Betriebssystem verschieben möchten, verwenden Sie COPY.
Es ist nicht sehr gut für die Sicherheit, daher ist es besser, USER hinzuzufügen.
Dieses Mal habe ich vorgestellt, wie man eine Docker-Datei schreibt. Ich werde die spezifische Schreibmethode und Verwendung in einem anderen Artikel vorstellen!
Kommentare zu twitter und youtube sind ebenfalls willkommen!
Für weitere Informationen lesen Sie die Übersetzung von @zembutsu! Best Practice zum Schreiben von Dockerfile