Die Docker-Datei ähnelt dem Verfahrenshandbuch, und Sie können es sofort schreiben, es ist jedoch ziemlich schwierig zu überprüfen, ob der Inhalt (= Verfahren) korrekt ist. Nachdem ich es tatsächlich geschafft habe, habe ich die Punkte verstanden, also werde ich das Verfahren teilen.
Die Docker-Datei kann durch Erben der vorhandenen Docker-Datei geschrieben werden. Für diese Vererbung wird das zu Beginn beschriebene FROM verwendet. Um die Arbeit zu vereinfachen, ist es wichtig, zuerst eine offizielle Docker-Datei zu finden, die sich in der Nähe der Umgebung befindet, die Sie erstellen möchten.
In meinem Fall erstelle ich häufig eine Python-Umgebung, daher erbe ich die Python / Miniconda-Docker-Datei häufig von FROM.
FROM continuumio / miniconda3
. Geben Sie die Tags nach Bedarf anDanach werde ich schreiben, während ich mir das Beispiel von Dockerfile anschaue.
Wenn Sie mit dem Schreiben fertig sind, testen Sie, ob Sie damit eine Umgebung ordnungsgemäß erstellen können. Zu diesem Zweck wird der Befehl docker build
verwendet.
Die grundlegende Verwendung ist wie folgt.
docker build --force-rm=true -t my_image .
--force-rm = true
: Stellen Sie sicher, dass Sie den während des Builds erstellten Zwischencontainer entfernen. Build funktioniert vom ersten Mal an selten. Stellen Sie daher sicher, dass Sie im Falle eines Fehlers keine ungeraden Container zurücklassen.-t
: Legt den Namen (Tag) des zu erstellenden Bildes fest.
im Fall des aktuellen Verzeichnisses).Wenn Sie eine Umgebung mit einem Proxy erstellen, aber keinen Proxy in einer Produktionsumgebung haben, können Sie Umgebungsvariablen mit "--build-arg" übergeben.
docker build --force-rm=true -t my_image --build-arg http_proxy=http://myproxy:8080 --build-arg https_proxy=http://myproxy:8080 .
Wie oben erwähnt, ist es selten, dass ein Build in einer Aufnahme übergeben wird. Löschen Sie in diesem Fall das Bild, das nicht erstellt werden konnte. Wenn Sie dies versäumen, ist es sehr mühsam, die Disc zu schleifen und später zu löschen.
docker rm
. Tatsächlich können Sie den Container nur mit den ersten drei Buchstaben der ID angeben.docker ps
zeigt nur laufende Container an, daher sind oft viele Container hinter Ihnen versteckt, als Sie dachten, es gäbe nichts. bitte beachten Siedocker rmi
Jetzt ist es sauber. Danach wird der Build wiederholt ausgeführt und bereinigt.
Versuchen Sie nach dem Erstellen des Images, es auszuführen, und überprüfen Sie, ob es ordnungsgemäß funktioniert. Verwenden Sie "Docker Run", um einen Container aus dem Image zu erstellen und auszuführen.
Wenn Sie es tatsächlich verwenden, sieht es wie folgt aus.
docker run -p 8080:8080 --rm my_image
-p
, um den Port auf der Containerseite mit dem Port auf der Hostseite zu verknüpfen. Diese Option wird häufig verwendet, um den Betrieb von Webanwendungen zu überprüfen.--rm
löscht den Container nach dem Stoppen automatisch. Wenn Sie diese Option vernachlässigen, müssen Sie Folgendes bereinigen:Beachten Sie, dass "Docker Run" bei jeder Ausführung einen Container aus dem Image erstellt (Erstellen eines Containers aus dem Image und Ausführen des Containers in einem Befehl). Wenn Sie wiederholt auf "Docker Run" klicken, kommt es daher häufig vor, dass der Container überläuft. Stellen Sie sicher, dass Sie den "Docker rm" vom "Docker Stop" aus ausführen, damit die Festplatte nicht vom Container belegt wird.
Sobald Sie den Lauf getestet haben, haben Sie Ihre Docker-Datei genau erstellt. Danke für deine harte Arbeit!
Recommended Posts