Ich bin mir nicht sicher, wie ich Dockerfiles benennen soll. Viele auf GitHub verwenden Dockerfile
ohne Dateierweiterung. Gebe ich ihnen einen Namen und eine Erweiterung? wenn ja, was? Oder rufe ich sie einfach an Dockerfile
?
docker
dockerfile
naming-conventions
Lloyd R. Prentice
quelle
quelle
docker build
Befehl. Dies bedeutet, dass jedes Image unnötig neu erstellt wird, wenn die Docker-Datei eines anderen Images geändert wird.dev.Dockerfile
,test.Dockerfile
,build.Dockerfile
Usw.Auf VS Code verwende ich
<purpose>.Dockerfile
und es wird korrekt erkannt.quelle
Ich denke, Sie sollten ein Verzeichnis pro Container mit einer Docker-Datei (keine Erweiterung) haben. Beispielsweise:
Wenn Sie nur den Verzeichnisnamen verwenden, findet Docker die Docker-Datei. z.B:
quelle
Wenn Sie den Autobuilder unter hub.docker.com verwenden möchten, muss dies der Fall sein
Dockerfile
. Also da :)quelle
Es scheint, dass dies wahr ist, aber persönlich scheint es mir schlechtes Design zu sein. Sicher, haben Sie einen Standardnamen (mit Erweiterung), lassen Sie jedoch andere Namen zu und geben Sie den Namen der Docker-Datei für Befehle an.
Eine Erweiterung zu haben ist auch schön, weil man damit Anwendungen diesem Erweiterungstyp zuordnen kann. Wenn ich in MacOSX auf eine Docker-Datei klicke, wird diese als ausführbare Unix-Datei behandelt und versucht, sie auszuführen.
Wenn Docker-Dateien eine Erweiterung hätten, könnte ich das Betriebssystem anweisen, sie mit einer bestimmten Anwendung zu starten, z. B. meiner Texteditor-Anwendung. Ich bin nicht sicher, aber das aktuelle Verhalten kann auch mit den Dateiberechtigungen zusammenhängen.
quelle
Ich habe zwei Docker-Dateien im selben Verzeichnis erstellt.
um beide Dockerfiles zu erstellen, verwenden Sie,
Hinweis: Sie sollten sich im aktuellen Arbeitsverzeichnis befinden.
quelle
Sie können Ihre Docker-Dateien beliebig benennen. Der Standarddateiname lautet
Dockerfile
(ohne Erweiterung). Die Verwendung des Standarddateinamens kann verschiedene Aufgaben beim Arbeiten mit Containern erleichtern.Abhängig von Ihren spezifischen Anforderungen möchten Sie möglicherweise den Dateinamen ändern. Wenn Sie beispielsweise für mehrere Architekturen erstellen , möchten Sie möglicherweise eine Erweiterung hinzufügen, die die Architektur angibt, wie das Team von resin.io für den HAProxy -Container das ARM-Beispiel für mehrere Container erstellt hat :
In dem bereitgestellten Beispiel erstellt jede Docker-Datei aus einem anderen, architekturspezifischen Upstream-Image. Die spezifische Docker-Datei, die für den Build verwendet werden soll, kann mithilfe der
--file, -f
Option angegeben werden, wenn Sie Ihren Container über die Befehlszeile erstellen .quelle
Dockerfile
ist gut, wenn Sie nur eine Docker-Datei (pro Verzeichnis) haben. Sie können jeden gewünschten Standard verwenden, wenn Sie mehrere Docker-Dateien im selben Verzeichnis benötigen - wenn Sie einen guten Grund haben. In einem kürzlich durchgeführten Projekt gab es AWS-Docker-Dateien und lokale Entwicklungsumgebungsdateien, da sich die Umgebungen ausreichend unterschieden:Dockerfile
Dockerfile.aws
quelle
Dockerfile.armv7hf
neben einemDockerfile.i386
.Docker-Datei (benutzerdefinierter Name und Ordner):
Bauen:
quelle