Latest web development tutorials

Docker Spiegelung

Wenn der Behälter läuft, mit einem Spiegel, wenn es keine lokal ist, die Docker automatisch aus dem Docker Bildarchiv herunter wird, wird der Standard von Docker Hub öffentlichen Bildquelle heruntergeladen.

Nun kommen wir zu lernen:

  • 1, Verwaltung und Nutzung des lokalen Host-Spiegelung Docker
  • 2, erstellen Sie einen Spiegel

Listen Spiegelliste

Wir können die Spiegel Docker Bilder verwenden , um auf dem lokalen Host aufzulisten.

w3big@w3big:~$ docker images           
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              14.04               90d5884b1ee0        5 days ago          188 MB
php                 5.6                 f40e9e0f10c8        9 days ago          444.8 MB
nginx               latest              6f8d099c3adc        12 days ago         182.7 MB
mysql               5.6                 f2e8d6c772c0        3 weeks ago         324.6 MB
httpd               latest              02ef73cf1bc0        3 weeks ago         194.4 MB
ubuntu              15.10               4e3b13c8a266        4 weeks ago         136.3 MB
hello-world         latest              690ed74de00f        6 months ago        960 B
training/webapp     latest              6fae60ef3446        11 months ago       348.8 MB

Beschreibung der einzelnen Optionen:

  • Repostitory: Lager stellt eine Quelle Spiegel

  • TAG: Spiegel Schlagwörter

  • Bildnummer: Spiegel ID

  • ERSTELLT: Spiegel Erstellt

  • GRÖSSE: Bildgröße

Das gleiche Warehouse-Quelle mehrere TAG haben kann, im Namen der Warehouse-Quelle verschiedene Versionen, wie ubuntu Warehouse-Quelle gibt 15.10,14.04 und viele verschiedene Versionen, die wir verwenden Repostitory: TAG anderes Bild zu definieren.

Also, wenn wir die Version 15.10 von Ubuntu-System Bild verwenden möchten, den Behälter mit dem folgenden Befehl ausführen:

w3big@w3big:~$ docker run -t -i ubuntu:15.10 /bin/bash 
root@d77ccb2e5cca:/#

Wenn Sie die Version Bild 14.04 von Ubuntu-System verwenden, um den Behälter mit dem folgenden Befehl auszuführen:

w3big@w3big:~$ docker run -t -i ubuntu:14.04 /bin/bash 
root@39e968165990:/# 

Wenn Sie nicht eine gespiegelte Version des Etiketts zum Beispiel angeben, Sie ubuntu nur verwenden, wird Docker Standard ubuntu: neueste Bild.


Holen Sie sich einen neuen Spiegel

Wenn wir einen Spiegel verwenden, die Docker nicht auf dem lokalen Host existiert automatisch das Bild herunterladen. Wenn wir dieses Bild vorab herunterladen möchten, können wir Docker Pull-Befehl zum Download verwenden.

Cw3big@w3big:~$ docker pull ubuntu:13.10
13.10: Pulling from library/ubuntu
6599cadaf950: Pull complete 
23eda618d451: Pull complete 
f0be3084efe9: Pull complete 
52de432f084b: Pull complete 
a3ed95caeb02: Pull complete 
Digest: sha256:15b79a6654811c8d992ebacdfbd5152fcf3d165e374e264076aa435214a947a3
Status: Downloaded newer image for ubuntu:13.10

Nachdem der Download abgeschlossen ist, können wir direkt das Bild verwenden, um die Behälter zu laufen.


Finden Spiegel

Wir können für einen Spiegel von Docker Hub Website suchen, Dockarbeiter Hub unter: https://hub.docker.com/

Wir können auch Docker Suchbefehl zu suchen Spiegel verwenden. Zum Beispiel müssen wir einen Spiegel, wie unsere Web-Services zu httpd. Wir können für httpd Befehl Docker Suche Suche nach uns einen Spiegel zu finden.

w3big@w3big:~$  docker search httpd

Name: Der Name des Spiegels Warehouse - Quelle

BESCHREIBUNG: Spiegel Beschreibung

OFFIZIELL: Sind Docker offiziellen Release


Ziehen sie Spiegel

Wir haben uns entschieden httpd offizielle Version des Bildes über dem Spiegel, verwenden Sie den Befehl Docker ziehen, um laden Sie das Bild zu verwenden.

w3big@w3big:~$ docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
8b87079b7a06: Pulling fs layer 
a3ed95caeb02: Download complete 
0d62ec9c6a76: Download complete 
a329d50397b9: Download complete 
ea7c1f032b5c: Waiting 
be44112b72c7: Waiting

Nachdem der Download abgeschlossen ist, können wir einen Spiegel verwenden.

w3big@w3big:~$ docker run httpd

Erstellen Sie einen Spiegel

Wenn wir aus dem Docker Spiegel Spiegel Lager heruntergeladen nicht unsere Anforderungen erfüllt, können wir Bild die folgenden zwei Möglichkeiten, um Änderungen vorzunehmen.

  • 1. Update-Image aus dem Behälter erstellt wurde, und senden Sie dieses Bild
  • 2. Verwenden Sie Dockerfile Anweisungen, um ein neues Bild zu erstellen

Update-Bild

Vor dem Update Bild, müssen wir den Spiegel zu verwenden, um einen Behälter zu schaffen.
w3big@w3big:~$ docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/# 
Mit apt-get update-Befehl in den Betrieb des Schiffes aktualisiert werden.

Nach Abschluss der Operation, geben Sie den Befehl exit um den Behälter zu verlassen.

In diesem Fall ist die ID e218edb10161 Behälter ein Behälter nach unseren Bedarf ändern. Wir können eine Kopie des Behälters durch einen Befehl Docker begehen einreichen.

w3big@w3big:~$ docker commit -m="has update" -a="w3big" e218edb10161 w3big/ubuntu:v2
sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8

Verschiedene Parameter:

  • -m: Beschreibung der übermittelten Informationen

  • -a: Gibt den Spiegel Autor

  • e218edb10161: Container - ID

  • w3big / ubuntu: v2: Gibt den Namen des Zielbildes erstellt werden

Wir können unser neues Bild w3big / ubuntu Docker Bilder mit dem Befehl sehen: v2:

w3big@w3big:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
w3big/ubuntu       v2                  70bf1840fd7c        15 seconds ago      158.5 MB
ubuntu              14.04               90d5884b1ee0        5 days ago          188 MB
php                 5.6                 f40e9e0f10c8        9 days ago          444.8 MB
nginx               latest              6f8d099c3adc        12 days ago         182.7 MB
mysql               5.6                 f2e8d6c772c0        3 weeks ago         324.6 MB
httpd               latest              02ef73cf1bc0        3 weeks ago         194.4 MB
ubuntu              15.10               4e3b13c8a266        4 weeks ago         136.3 MB
hello-world         latest              690ed74de00f        6 months ago        960 B
training/webapp     latest              6fae60ef3446        12 months ago       348.8 MB

Nutzen Sie unser neues Bild w3big / ubuntu einen Container zu starten

w3big@w3big:~$ docker run -t -i w3big/ubuntu:v2 /bin/bash                            
root@1a9fbdeb5da3:/#

Der Bau des Spiegels

Wir verwenden Sie den Befehl Docker zu bauen, von Grund auf neu ein neues Bild zu erstellen. Um dies zu tun, müssen wir eine Dockerfile-Datei zu erstellen, die eine Reihe von Anweisungen enthält Docker zu sagen, wie unser Bild zu bauen.

w3big@w3big:~$ cat Dockerfile 
FROM    centos:6.7
MAINTAINER      Fisher "[email protected]"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd w3big
RUN     /bin/echo 'w3big:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

Jeder Befehl wird eine neue Ebene in den Spiegel zu erstellen, das Präfix jeder Befehl groß geschrieben werden muss.

Die erste FROM an, welche Spiegelquelle Verwendung

RUN Run Befehl teilt Docker im Spiegel, was installiert ist. . .

Wir verwenden dann Dockerfile Datei ein Bild von Docker Build Befehl zu bauen.

w3big@w3big:~$ docker build -t w3big/centos:6.7 .
Sending build context to Docker daemon 17.92 kB
Step 1 : FROM centos:6.7
 ---> d95b5ca17cc3
Step 2 : MAINTAINER Fisher "[email protected]"
 ---> Using cache
 ---> 0c92299c6f03
Step 3 : RUN /bin/echo 'root:123456' |chpasswd
 ---> Using cache
 ---> 0397ce2fbd0a
Step 4 : RUN useradd w3big
......

Parameter Beschreibung:

  • -t: Gibt den Namen des Zielbildes erstellt werden

  • .: Dockerfile Dateiverzeichnis können Sie den absoluten Pfad angeben Dockerfile

Docker Bilder können Sie das Bild zu sehen ist in der Liste erstellt vorhanden ist, der Spiegel-ID für 860c279d2fec

w3big@w3big:~$ docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
w3big/centos       6.7                 860c279d2fec        About a minute ago   190.6 MB
w3big/ubuntu       v2                  70bf1840fd7c        17 hours ago         158.5 MB
ubuntu              14.04               90d5884b1ee0        6 days ago           188 MB
php                 5.6                 f40e9e0f10c8        10 days ago          444.8 MB
nginx               latest              6f8d099c3adc        12 days ago          182.7 MB
mysql               5.6                 f2e8d6c772c0        3 weeks ago          324.6 MB
httpd               latest              02ef73cf1bc0        3 weeks ago          194.4 MB
ubuntu              15.10               4e3b13c8a266        5 weeks ago          136.3 MB
hello-world         latest              690ed74de00f        6 months ago         960 B
centos              6.7                 d95b5ca17cc3        6 months ago         190.6 MB
training/webapp     latest              6fae60ef3446        12 months ago        348.8 MB

Wir können den neuen Spiegel verwenden, um die Container zu erstellen

w3big@w3big:~$ docker run -t -i w3big/centos:6.7  /bin/bash
[root@41c28d18b5fb /]# id w3big
uid=500(w3big) gid=500(w3big) groups=500(w3big)

Von oben gesehen das neue Bild wurde erstellt, die den Benutzer w3big uns enthält


Stellen Sie einen Spiegel-Tag bis

Wir können Docker Tag-Befehl für den Spiegel verwenden, um ein neues Etikett hinzuzufügen.

w3big@w3big:~$ docker tag 860c279d2fec w3big/centos:dev

ID Docker Tag Bild, hier ist 860c279d2fec, den Benutzernamen und den Namen des Quellbildes (Repository-Name) und einen neuen Tag-Namen (tag).

Docker Bilder können mit dem Befehl zu sehen, ID ist 860c279d2fec Spiegel ein weiteres Label.

w3big@w3big:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
w3big/centos       6.7                 860c279d2fec        5 hours ago         190.6 MB
w3big/centos       dev                 860c279d2fec        5 hours ago         190.6 MB
w3big/ubuntu       v2                  70bf1840fd7c        22 hours ago        158.5 MB
ubuntu              14.04               90d5884b1ee0        6 days ago          188 MB
php                 5.6                 f40e9e0f10c8        10 days ago         444.8 MB
nginx               latest              6f8d099c3adc        13 days ago         182.7 MB
mysql               5.6                 f2e8d6c772c0        3 weeks ago         324.6 MB
httpd               latest              02ef73cf1bc0        3 weeks ago         194.4 MB
ubuntu              15.10               4e3b13c8a266        5 weeks ago         136.3 MB
hello-world         latest              690ed74de00f        6 months ago        960 B
centos              6.7                 d95b5ca17cc3        6 months ago        190.6 MB
training/webapp     latest              6fae60ef3446        12 months ago       348.8 MB