Latest web development tutorials

Docker miroir

Lors de l'exécution du conteneur, en utilisant un miroir s'il n'y a pas local, le docker va télécharger automatiquement à partir de l'image de docker référentiel, la valeur par défaut est téléchargé à partir Docker Hub source d'image publique.

Nous arrivons maintenant à apprendre:

  • 1, la gestion et l'utilisation du Docker hôte en miroir locale
  • 2, créer un miroir

Listes Liste miroir

Nous pouvons utiliser les images miroir docker à la liste sur l'hôte local.

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

Description de chaque option de:

  • REPOSTITORY: Entrepôt représente un miroir source

  • TAG: Miroir Balises

  • ID IMAGE: Mirror ID

  • CRÉÉE: Mirror Créé

  • TAILLE: taille de l' image

La même source d'entrepôt peut avoir TAG multiple, au nom de la source d'entrepôt différentes versions, comme source d'entrepôt de ubuntu, il 15.10,14.04 et de nombreuses versions différentes, nous utilisons REPOSTITORY: TAG pour définir l'image différente.

Donc, si nous voulons utiliser la version 15.10 image du système d'ubuntu de faire fonctionner le récipient avec la commande suivante:

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

Si vous souhaitez utiliser la version 14.04 image du système d'ubuntu de faire fonctionner le récipient avec la commande suivante:

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

Si vous ne spécifiez pas une version en miroir de l'étiquette, par exemple, vous utilisez uniquement ubuntu, docker sera ubuntu par défaut: dernière image.


Obtenez un nouveau miroir

Lorsque nous utilisons un miroir qui n'existe pas sur l'hôte local Docker va télécharger automatiquement l'image. Si nous voulons pré-télécharger cette image, nous pouvons utiliser la commande de traction docker pour le télécharger.

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

Après le téléchargement est terminé, nous pouvons directement utiliser cette image pour exécuter le conteneur.


Trouver Mirror

Nous pouvons rechercher un miroir du site Docker Hub, Docker Hub à: https://hub.docker.com/

Nous pouvons également utiliser docker commande de recherche pour rechercher Mirror. Par exemple, nous avons besoin d'un miroir pour httpd que nos services Web. Nous pouvons chercher httpd recherche commande docker pour trouver un miroir pour nous.

w3big@w3big:~$  docker search httpd

NOM: Le nom de la source d'entrepôt miroir

DESCRIPTION: Description du Miroir

OFFICIEL: Y docker sortie officielle


les Pulling Mirror

Nous avons décidé d'utiliser la version officielle de httpd de l'image au-dessus du miroir, utilisez la commande docker traction pour télécharger l'image.

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

Après le téléchargement est terminé, nous pouvons utiliser un miroir.

w3big@w3big:~$ docker run httpd

Créer un miroir

Lorsque nous avons téléchargé à partir du miroir de docker miroir entrepôt ne répond pas à nos besoins, nous pouvons l'image de ce qui suit deux façons de faire des changements.

  • 1. l'image de mise à jour a été créé à partir du conteneur, et soumettre cette image
  • 2. Utilisez les instructions Dockerfile pour créer une nouvelle image

image de mise à jour

Avant l'image de mise à jour, nous avons besoin d'utiliser le miroir pour créer un conteneur.
w3big@w3big:~$ docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/# 
Utilisation de la commande apt-get update dans la course du navire à être mis à jour.

Après avoir terminé l'opération, entrez la commande exit pour quitter le récipient.

Dans ce cas, le conteneur ID e218edb10161 est un conteneur selon les besoins. Nous pouvons fournir une copie du récipient par une commande docker commit.

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

Divers paramètres:

  • -m: description de l'information présentée

  • -a: Indique le miroir Auteur

  • e218edb10161: Container ID

  • w3big / ubuntu: v2: Indique le nom de l'image cible à créer

Nous pouvons voir notre nouvelle image w3big / ubuntu docker images en utilisant la commande: 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

Utilisez notre nouvelle image w3big / ubuntu pour démarrer un conteneur

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

La construction du miroir

Nous utilisons la commande docker build, à partir de zéro pour créer une nouvelle image. Pour ce faire, nous avons besoin de créer un fichier Dockerfile, qui contient un ensemble d'instructions pour dire Docker comment construire notre image.

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

Chaque commande va créer une nouvelle couche dans le miroir, devant chaque commande doit être en majuscules.

Le premier à partir, spécifier quel miroir l'utilisation de la source

RUN Run commande indique docker dans le miroir, ce qui est installé. . .

Nous utilisons ensuite le fichier Dockerfile pour construire une image par commande docker de construction.

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
......

Description Paramètre:

  • -t: Indique le nom de l'image cible à créer

  • .: Dockerfile répertoire de fichiers, vous pouvez spécifier le chemin absolu Dockerfile

Utiliser des images de docker pour afficher l'image a été créée dans la liste existe, l'ID de miroir pour 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

Nous pouvons utiliser le nouveau miroir pour créer le conteneur

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)

Vu de dessus la nouvelle image a été créé qui contient l'utilisateur w3big nous


Mettre en place une étiquette de miroir

Nous pouvons utiliser la commande tag docker pour le miroir pour ajouter une nouvelle étiquette.

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

docker tag image ID, voici 860c279d2fec, nom d'utilisateur, et le nom de l'image source (nom du référentiel) et un nouveau nom de la balise (tag).

images Docker peuvent être vus à l'aide de la commande, ID est miroir 860c279d2fec une autre étiquette.

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