Docker erleichtert die Entwicklung und Bereitstellung benutzerdefinierter und konsistenter Umgebungen, die bestimmte Anwendungen und Abhängigkeiten enthalten. Docker nennt diese Zusammenstellungen Images. Docker-Images können von privaten Standorten oder vom offiziellen Repository Docker Hub gehostet und abgerufen werden.
Dieser Leitfaden ist Teil einer Reihe von Einführungen in Docker-Konzepte. Die Befehle zum Erstellen eines Images in diesem Handbuch bauen auf dem vorherigen Handbuch How to Install and Pull Images for Container Deployment auf. Weitere Informationen zu Docker und Containern finden Sie in unseren Leitfäden zu Containern.
Erstellen Sie ein Docker-Image
Erstellen Sie ein neues lokales Image basierend auf dem neuesten Ubuntu Docker-Image. Obwohl das Repository bereits über eine Reihe von LAMP-Stack-Images verfügt, erstellen wir in diesem Handbuch eines als Beispiel für den Prozess.
-
Holen Sie sich das neueste Ubuntu-Image:
docker pull ubuntu
-
Erstellen Sie den neuen Container, damit wir unseren LAMP-Stack zu Ubuntu hinzufügen können. Dieses Beispiel nennt den Container
lamp-server-template
und fügt diebash
hinzu Option zum Docker-Befehl, um den Container zu betreten, um weitere Änderungen vorzunehmen:docker run --name lamp-server-template -it ubuntu:latest bash
-
Installieren Sie den
lamp-server
Metapaket im Container:apt-get install lamp-server^
Dieses Upgrade und die Installation dauern länger, als wenn Sie auf einem Standardserver arbeiten würden. Während der Installation des LAMP-Stacks werden Sie aufgefordert, ein MySQL-Root-Benutzerkennwort zu erstellen. Verlassen Sie nach Abschluss der Installation den Container:
exit
-
Verwenden Sie
docker ps -a
um alle verfügbaren Container aufzulisten:
Änderungen am Bild übernehmen
Um Änderungen am Image zu übernehmen, müssen wir zuerst die Container-ID haben. Wie im obigen Beispiel wird der docker ps -a
listet die ID als d09dd0f24b58
auf . Wir werden unser neues Image lamp-server-template
nennen und übertragen Sie die Änderungen mit dem Befehl:
docker commit d09dd0f24b58 lamp-server-template
Wenn Sie die docker images
ausführen Befehl, sehen Sie das neue Bild, lamp-server-template
aufgeführt.
Markieren Sie Ihr Bild für die Versionskontrolle
Wenn Sie ein Image von Docker Hub herunterziehen, wird der Status
Zeile enthält das Bild-Tag wie hier gezeigt:
Status: Downloaded newer image for ubuntu:latest
Docker-Tags sind eine einfache Möglichkeit, um festzustellen, mit welcher Version oder Version Sie arbeiten. Dies ist besonders nützlich, um neue Bilder aus einem Basisbild zu erstellen. Wenn Sie beispielsweise ein Ubuntu-Image haben, das Sie als Grundlage zum Erstellen verschiedener Images verwenden, helfen Ihnen Docker-Tags dabei, die Unterschiede nachzuverfolgen:
lamp-server-template:v1.8.10.2017
lamp-server-template:v2.8.10.2017
lamp-server-template:v3.8.10.2017
-
Erstellen Sie Image-Tags mit einem
docker commit
. Taggen Sie das neue Bild mithilfe der obigen Beispiel-Tags mit einer Versionsnummer und einem Datum:docker commit d09dd0f24b58 lamp-server-template:v1.8.10.2017
-
Führen Sie
docker images
aus um das neu erstellte Bild zusammen mit dem zugehörigen Tag anzuzeigen:
Pushen Sie Ihr Image an Docker Hub
-
Bevor Sie das Image an Docker Hub übertragen, fügen Sie eine Beschreibung und Ihren vollständigen Namen hinzu (
FULL NAME
im Beispiel hier) und Docker-Hub-Benutzername (USERNAME
) imdocker commit
:docker commit -m "Added LAMP Server" -a "FULL NAME" d09dd0f24b58 USERNAME/lamp-server-template:v1.8.10.2017
-
Sobald dies vollständig getaggt ist, melden Sie sich an und übertragen Sie es an Docker Hub:
docker login
-
Sie werden zur Eingabe Ihrer Docker Hub-Anmeldeinformationen aufgefordert. Wenn die Authentifizierung erfolgreich ist, sehen Sie
an den Hub pushenLogin succeeded
. Jetzt können Sie das Bild mit dem Befehl:docker push lamp-server-template:v1.8.10.2017
-
Öffnen Sie einen Browser, melden Sie sich bei Ihrem Docker Hub-Konto an und gehen Sie zu Ihrem Haupt-Repository. Das neue Bild wird aufgelistet. Klicken Sie auf das Bild und dann auf die Tags Tab, um das hinzugefügte Tag anzuzeigen:
Und das ist alles, was Sie tun müssen, um ein neues Image zu erstellen, das Image zu ändern, Ihre Änderungen zu übernehmen, das Image zu taggen und das vollständige Image an Docker Hub zu senden, alles direkt von Ihrem Linode aus.
Weitere Informationen
Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen. Obwohl diese in der Hoffnung bereitgestellt werden, dass sie nützlich sind, beachten Sie bitte, dass wir nicht für die Genauigkeit oder Aktualität extern gehosteter Materialien garantieren können.
- Docker-Dokumentation
- Docker Probieren Sie es aus
- Docker-Hub