In diesem Tutorial werden die Grundlagen für den Einstieg in Docker erläutert. Ich gehe davon aus, dass Sie Docker bereits installiert haben. Die Schritte in diesem Lernprogramm funktionieren auf allen Linux-Distributionen, die mit Docker kompatibel sind (CentOS, Ubuntu usw.).
Erstellen Sie Ihren ersten Docker-Container
Docker erstellt virtuelle Container. Das Containersystem von Docker ist sehr effizient, da es mit Commits arbeitet. Dies spart Platz und ermöglicht es Ihnen, Änderungen am Container zu sehen. Wenn Sie beispielsweise Apache in einem Container installieren, können Sie ein Commit mit dem Namen "Installierter Apache" erstellen, damit Sie genau wissen, was passiert ist.
Das erste, was wir tun werden, ist aus einem Repository zu ziehen. Angenommen, Sie möchten Ubuntu in einem Container installieren. Sie können Ubuntu aus dem Repository abrufen:
docker pull ubuntu
Seien Sie geduldig, da dies eine Weile dauern kann. Nachdem alles heruntergeladen wurde, können Sie mit diesem Betriebssystem einen Container erstellen:
docker run -i -t ubuntu /bin/bash
Oder mit Debian zum Beispiel:
docker run -i -t debian /bin/bash
Wenn das Betriebssystem nicht gefunden werden kann (noch nicht abgerufen), wird es automatisch von Docker Hub abgerufen.
Tatsächlich haben Sie jetzt einen Container! Sie führen bash in dem abgespeckten Container aus, der von Docker verwaltet wird. Führen Sie einige gängige Linux-Befehle aus, um ein Gefühl für die Umgebung zu bekommen.
Wenn Sie eingeben exit, um den Container zu verlassen und zu Ihrem Hauptbetriebssystem zurückzukehren, werden alle Ihre Änderungen gelöscht. Um Änderungen an einem Container zu speichern, verwenden wir Commits.
Commits
Wenn Sie einen Docker-Container erstellen, wird dessen Hostname automatisch generiert. Wenn ich beispielsweise einen neuen Ubuntu-Container erstelle, erhalte ich möglicherweise den Hostnamen f7943e42aff0. Dies ist der Name, den Docker Ihrem Container gegeben hat.
Installieren Sie, was Sie wollen, und stellen Sie sicher, dass alles funktioniert. Beenden Sie dann Ihren Docker-Container:
exit
Wir müssen uns jetzt verpflichten; Andernfalls gehen alle Ihre Änderungen verloren.
docker commit -a "William E." -m "Installed Apache" f7943e42aff0 apachesnapshot
Mit dem -aSchalter kann ordnungsgemäß bestimmt werden, wer dieses Commit erstellt hat (wer die Änderungen im Container vorgenommen hat). -mist die Festschreibungsnachricht. Das f7943e42aff0ist der Hostname meines Containers. In Ihrem Fall wird es anders sein, da Docker sie zufällig generiert. apachesnapshotist der Name Ihres Bildes.
Sie können eine Liste mit allen Bildern auf Ihrem lokalen Computer anzeigen. Die neuesten sind an der Spitze.
docker images
Führen Sie Folgendes aus, um Ihren Docker-Container mit den Änderungen zu starten:
docker run -t -i apachesnapshot /bin/bash
Docker-Dateien verwenden
Docker-Dateien können verwendet werden, um Bilder mit bereits installierten Anwendungen zu erstellen. Dies macht es bequem, einen Container zu starten, ohne einen bestimmten Befehl ausführen zu müssen. Wenn wir beispielsweise ein Bild mit der ~/file.txtbereits erstellten Datei erstellen möchten , verwenden wir die folgende Docker-Datei:
FROM ubuntu:14.04
MAINTAINER William E. <william@localhost>
RUN touch ~/file.txt
Um einen Docker-Container mit dieser Docker-Datei zu erstellen, erstellen Sie einen Ordner für Ihre Docker-Datei auf Ihrem lokalen Computer (den ich verwendet habe ~/files). Fügen Sie den Inhalt Ihrer Docker-Datei in eine Datei mit dem Namen ein Dockerfile. Sie können jetzt ein Bild damit erstellen, indem Sie Folgendes ausführen:
docker build -t="test" .
Dadurch wird ein Docker-Image aus Ihrem Dockerfile-Skript erstellt. Sie können jetzt Ihren Container ausführen. testist der gleiche Wert wie testim docker buildBefehl.
docker run -t -i test /bin/bash
Wenn die Bash-Shell geöffnet wird, sehen Sie, dass die ~/file.txtbereits erstellt wurde.
Dies ist nur ein Vorgeschmack auf die leistungsstarken Umgebungen, die Sie mit Docker erstellen können. Das offizielle Docker-Handbuch geht auf diese Themen viel weiter ein. Zu diesem Zeitpunkt sollten Sie in der Lage sein, das Ausführen vorhandener Container zu experimentieren und mit der Abbildung Ihrer eigenen Container zu beginnen.
Geschrieben von William David Edwards