Latest web development tutorials

Docker espelhamento

Ao executar o recipiente, usando um espelho se não houver nenhum local, a janela de encaixe fará automaticamente o download a partir do repositório de imagens janela de encaixe, o padrão é baixado de Docker Hub fonte de imagem pública.

Agora chegamos a saber:

  • 1, gestão e utilização do Docker de acolhimento espelhamento locais
  • 2, crie um espelho

Listas lista de espelhos

Podemos usar as imagens espelho docker para listar no host 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

Descrição de cada opção:

  • REPOSTITORY: Armazém representa um espelho fonte

  • TAG: Espelho Etiquetas

  • IMAGEM ID: Espelho ID

  • CRIADO: Espelho Criado

  • SIZE: tamanho da imagem

A mesma fonte armazém pode ter vários TAG, em nome das diferentes versões de origem de armazenamento, tais como fonte de ubuntu armazém, há 15.10,14.04 e muitas versões diferentes, usamos REPOSTITORY: TAG para definir imagem diferente.

Assim, se quisermos usar a versão 15.10 imagem do sistema ubuntu de executar o recipiente com o seguinte comando:

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

Se você quiser usar a versão 14.04 imagem do sistema ubuntu de executar o recipiente com o seguinte comando:

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

Se você não especificar uma versão espelhada da etiqueta, por exemplo, você só pode usar ubuntu, docker será o padrão ubuntu: imagem mais recente.


Obter um novo espelho

Quando usamos um espelho que não existe no host local Docker fará automaticamente o download da imagem. Se queremos pré-descarregue esta imagem, podemos usar o comando puxar janela de encaixe para baixá-lo.

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

Depois que o download estiver concluído, podemos usar diretamente esta imagem para rodar o recipiente.


encontrar Espelho

Podemos procurar um espelho do site Docker Hub, Docker Hub em: https://hub.docker.com/

Nós também pode usar o comando de busca janela de encaixe para procurar Mirror. Por exemplo, precisamos de um espelho para httpd como os nossos serviços web. Podemos procurar httpd procura de comando janela de encaixe para encontrar um espelho para nós.

w3big@w3big:~$  docker search httpd

Nome: O nome da origem de armazenamento espelho

Descrição: Descrição do espelho

OFICIAL: São janela de encaixe lançamento oficial


Puxando-as espelho

Decidimos usar versão oficial httpd da imagem acima do espelho, usar a força de comando janela de encaixe para baixar a imagem.

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

Depois que o download estiver concluído, podemos usar um espelho.

w3big@w3big:~$ docker run httpd

Criar um espelho

Quando baixado a partir do espelho janela de encaixe espelho armazém não atende às nossas necessidades, podemos imagem a seguir duas maneiras de fazer alterações.

  • 1. imagem de atualização foi criado a partir do recipiente, e submeter esta imagem
  • 2. Instruções de Uso Dockerfile para criar uma nova imagem

imagem de atualização

Antes da imagem de atualização, é preciso usar o espelho para criar um recipiente.
w3big@w3big:~$ docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/# 
Usando o comando apt-get update no funcionamento do navio a ser atualizado.

Depois de concluir a operação, digite o comando exit para sair do recipiente.

Neste caso, o recipiente ID e218edb10161 é um recipiente de acordo com as nossas necessidades. Podemos apresentar uma cópia do recipiente através de uma janela de encaixe comando commit.

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

Vários parâmetros:

  • -m: Descrição das informações apresentadas

  • -a: Especifica o espelho Autor

  • e218edb10161: Container ID

  • w3big / ubuntu: v2: Especifica o nome da imagem alvo a ser criado

Nós podemos ver a nossa nova imagem w3big / ubuntu docker imagens usando o comando: 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

Use nosso novo w3big image / ubuntu para iniciar um recipiente

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

Construção do espelho

Nós usamos a compilação de comando janela de encaixe, a partir do zero para criar uma nova imagem. Para fazer isso, precisamos criar um arquivo Dockerfile, que contém um conjunto de instruções para dizer Docker como construir nossa imagem.

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

Cada comando criará uma nova camada no espelho, prefixo em cada comando deve ser maiúsculas.

O primeiro FROM, especificar qual uso da fonte do espelho

Run Run comando diz janela de encaixe no espelho, o que está instalado. . .

Em seguida, usamos arquivo Dockerfile para construir uma imagem de comando janela de encaixe de construção.

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

Parâmetro Descrição:

  • -t: Especifica o nome da imagem alvo a ser criado

  • .: Dockerfile diretório de arquivos, você pode especificar o caminho absoluto Dockerfile

Use imagens docker para ver a imagem foi criada na lista de existir, o ID de espelho para 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

Nós podemos usar o novo espelho para criar o contêiner

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)

Visto de cima a nova imagem foi criado que contém o usuário w3big nós


Configurar uma tag espelho

Podemos usar o comando tag janela de encaixe para o espelho para adicionar um novo rótulo.

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

docker imagem tag ID, aqui é 860c279d2fec, nome de usuário e o nome da imagem de origem (nome do repositório) e um novo nome de marca (tag).

imagens Docker pode ser visto usando o comando, ID é espelho 860c279d2fec mais um rótulo.

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