DockerFile Introdução
DockerFile Docker é usado para construir o arquivo de imagem, o ritmo é uma série de comandos e parâmetros de configuração
Busca no cubo janela de encaixe e visualizar os centos DockerFile como se segue:
DockerFile Basics
1, cada instrução deve ser reservado palavras em letras maiúsculas e as legendas de seguir atrás de pelo menos um parâmetro
2, a execução da instrução, a fim de cima para baixo
3, # denota um comentário
4, cada instrução vai criar uma nova camada de imagem, e espelho de cometer
processo de construção DockerFile
1, janela de encaixe executado a partir de uma imagem de base do recipiente
2, e para executar uma instrução para modificar o contentor
3, uma operação semelhante é realizada estivador comprometer-se a apresentar uma nova camada de imagem
4, docker novamente com base run espelhamento acaba de apresentar um novo recipiente
5, a próxima instrução executada dockerfile até a conclusão de todas as instruções de execução
caso:
Pode referir-se a janela de encaixe volume de dados recipientes (D) [Pedido] , um volume de dados do recipiente para adicionar duas maneiras: utilizando DockerFile suplemento, comparar processo de construção deste procedimento DockerFIle
DockerFile palavras reservadas
1, A PARTIR
imagem base, uma nova imagem baseia-se no actual espelho
2, MAINTAINER
Espelho nome defensores e endereço de e-mail
3, RUN
necessidade de comando para construção recipiente prazo
4, EXPOR
exposição externa para um porto de contentores actual
5, WORKDIR
Depois de re-criar o terminal de container especificado registrado no diretório de trabalho padrão
6, ENV
Para definir as variáveis de ambiente no processo de construção do espelho
7, ADD
O arquivo host na imagem diretório e copiado para o URL de processamento do comando ADD e automaticamente extraia o arquivo tar
8, CÓPIA
Da mesma forma arquivo ADD, com a cópia do espelho do diretório documento, o diretório a partir do contexto edifício <caminho de origem> / diretório para <caminho de destino> na nova posição da camada de espelho
Use uma: COPY src dest
用法 二: COPY [ "src" "dest",]
9, VOLUME
recipiente de volume de dados, para armazenamento de dados persistente e trabalho
10, CMD
Especificar um comando para ser executado no recipiente de inicialização
Em Dockerfile pode ter comando múltipla CMD, mas apenas o último deles irá funcionar, o parâmetro CMD será substituído após a janela de encaixe prazo
11, EntryPoint
Especificar um comando para ser executado no recipiente de inicialização
propósito EntryPoint e CMD, é no recipiente especificado e iniciar os parâmetros do programa
12, ONBUILD
Ao construir uma Dockerfile herdado executar o comando, o pai do espelho é acionado após a colcha na imagem do onbuild de seu pai
Um espelho -Base caso (zero)
Doeker Hub 99% da imagem são obrigados pela instalação e configuração de software na construo de base para fora do espelho
1 a partir do zero
Caso B - mycentos espelho personalizado
1, arquivo DockerFile write
1 # centos espelhar imagem base 2 FROM centos . 3 . 4 # defensores imagem nome e endereço de e-mail . 5 o mantenedor em H__D < H__D @ 163.com > . 6 . 7 # variáveis de ambiente . 8 ENV MYPATH / usr / local . 9 10 # diretório de trabalho . 11 a WORKDIR $ MYPATH 12 é 13 é executar a instalação construo comando vim # 14 a executar -Y yum a instalar o vim 15 16 quando corrida # build-montado Ferramentas NET . 17 a executar yum os instalar -Y-NET Ferramentas 18 é . 19 # expostos fora da porta do recipiente corrente 20 é expor 80 21 é 22 é comando de partida para começar a # 23 CMD echo $ MYPATH 24 25 CMD echo "construir o sucesso .............." 26 27 CMD / bin / bash
2, edifício
Formato: Docker Construir um novo nome espelho -t: TAG.
命令: janela de encaixe de compilação -f dockerfile2 -t teste / mycentos: 1.2.
3, corrida
Formato: Docker RUN -É novo nome imagem: TAG
Comando: encaixe acelerar testá-lo RUN / mycentos: 1,2
4, espelhando a lista de histórico de alterações
Formato: História Docker nome espelho: TAG
Comando: História Docker Teste / mycentos: 1,2
Processo C -cmd / EntryPoint Espelho caso
Quando um contêiner é especificado comando começa a correr
1, CMD: Dockerfile pode ter comando múltipla CMD, mas apenas o último deles irá funcionar, o parâmetro CMD será substituído após a janela de encaixe prazo
1) Criar um dockerfile4, como segue:
1 # centos espelhar imagem base 2 FROM centos . 3 . 4 # correndo comando de partida . 5 o CMD [ "/ bin / echo", "o Olá"]
2) por dockerfile4, construção de teste / espelhamento mycmd
命令: estivador construção -f dockerfile4 -t test / mycmd.
3) Teste
Comando: Docker -É o Teste RUN / mycmd
命令: teste janela de encaixe prazo -é / mycmd / bin / echo "ABC"
2, EntryPoint: você poderá adicionar parâmetros
1) Criar um dockerfile3, como segue:
1 # centos espelhar imagem base 2 FROM centos . 3 . 4 Run # comando inicia . 5 EntryPoint [ "/ bin / echo", "o Olá"] . 6 . 7 # Docker Expediting-lo correr [Imagem] Após a execução de saída . 8 # Olá Mundo . 9 # Docker executar -é [imagem] output "comando" após a execução 10 # linha de comando Olá
2) por dockerfile3, construção de teste / espelhamento myentrypoint
命令: estivador construção -f dockerfile3 -t test / myentrypoint.
3) Teste
命令: estivador executar -é test / myentrypoint
命令: estivador executar -é test / myentrypoint "ABC"
D Caso -ONBUILD
ONBUILD: Executar comando quando a construção de uma Dockerfile herdada, o pai do espelho é acionado após a colcha na imagem do onbuild de seu pai
1, um novo arquivo dockerfile5, como segue:
1 # centos base Mirror Mirror 2 FROM centos 3 4 # espelhado colcha gatilho 5 ONBUILD rode echo "Agora, Build Action é o ok .............." 6 7 comando Executar para iniciar # 8 CMD [ "/ bin / bash"]
2, por meio da construção de teste dockerfile5 / mycentos: 1,5 espelhamento
命令: estivador construção -f dockerfile5 -t teste / mycentos: 1,5.
3, um novo dockerfile6 arquivo, a imagem base é um teste / mycentos: 1.5, como segue:
1 # centos espelhar imagem base 2 a DE TESTE / mycentos: para 1,5 . 3 . 4 Run # comando inicia . 5 o CMD [ "/ bin / bash"]
4, construída por dockerfile6 teste / mycentos: 1,6 espelhamento
命令: janela de encaixe de compilação -f dockerfile6 -t teste / mycentos: 1.6.
Através da observação, podemos ver o papel de comando ONBUILD
casos E - imagens personalizadas Tomcat9