Como criar um Dockerfile?

Como criar um Dockerfile?
Docker permite que os desenvolvedores construam, testem e implantem aplicativos de maneira rápida e eficiente usando contêineres isolados e portáteis que sejam executados em qualquer lugar.

O Docker é uma ferramenta de código aberto que empacota aplicativos (s), todos os pacotes necessários e seu sistema operacional base em pacotes de contêineres. Como os contêineres do Docker são independentes, eles são executados em qualquer sistema sem necessidade de reconfiguração.

Docker constrói recipientes de imagens. Uma imagem do Docker é um pacote independente que define todos os requisitos necessários para executar um aplicativo, como sistema operacional, tempo de execução, ferramentas do sistema, bibliotecas, configurações e muito mais. Docker converte as imagens em contêineres durante o tempo de execução.

Docker cria imagens de configurações definidas em um Dockerfile. Um DockerFile é simplesmente um arquivo de configuração que indica todas as instruções sobre a criação de uma imagem do Docker. Como resultado, a criação de imagens do docker usando um Dockerfile é mais fácil e muito mais eficiente.

Este guia o levará a criar um Dockerfile e usá -lo para construir uma imagem do Docker.

Formato Dockerfile

O Dockerfile é um documento de texto bruto. As entradas no dockerfile estão no seguinte formato:

$ Argumentos de instrução (s)

A primeira parte define os comandos do docker que você pode usar em um shell do docker. O segundo representa os argumentos ou valores específicos para passar para a instrução primária.

OBSERVAÇÃO: As instruções não são sensíveis ao minúsculas. No entanto, Docker recomenda o uso da maçaneta para distingui -los dos argumentos.

A seguir, são apresentadas algumas instruções populares em um Dockerfile.

DE - Esta instrução define a imagem pai para instruções subsequentes. Da cláusula deve ser a primeira entrada em um Dockerfile. Pode vir depois de uma diretiva de comentário ou análise ou arg usado na diretiva de diretiva.

Arg - Ele define variáveis ​​usadas durante a construção depois que você executa o comando de construção do docker no arquivo.

Cmd - Isso define o comando executado na criação de contêineres. Docker permite apenas uma instrução CMD por arquivo. Quando você tem mais de um definido, ele executa o último comando.

RÓTULO - A instrução do rótulo define informações de metadados para a imagem. Você pode adicionar quantos rótulos você achar adequado na forma de pares de valor-chave. Por exemplo, os metadados da imagem podem incluir o número da versão, informações do autor, descrição, etc.

CORRER - Define as instruções a serem executadas durante a construção da imagem.

DO UTILIZADOR - Esta instrução define o nome de usuário ou UID do usuário ao executar a imagem ou instruções em um Dockerfile como CMD, Run e EntryPoint.

PONTO DE ENTRADA - Ele define os comandos que o Docker é executado na criação de contêineres. As opções são substituídas na linha de comando durante a inicialização do contêiner.

ADICIONAR - Esta instrução copia arquivos e diretórios da fonte especificada para um destino especificado. A fonte pode ser um caminho local ou um URL externo. Se os arquivos forem arquivos, o Docker os descompactará automaticamente na imagem.

VOLUME - As instruções de volume permitem criar pontos de montagem a partir de diretórios de máquinas host ou outros contêineres.

EXPOR - Esta instrução diz ao Docker em qual porta ouvir durante o tempo de execução.

Env - Define variáveis ​​de ambiente.

Workdir - Define o diretório de trabalho atual. Se o diretório especificado não existir, o Docker criará automaticamente um.

O exposto acima são algumas instruções padrão que você pode usar em um Dockerfile.

Como criar um Dockerfile

O processo de criação de um Dockerfile é direto. Comece criando um diretório de trabalho para suas operações do Docker. Em seguida, crie um Dockerfile e edite -o com seu editor de texto favorito.

$ CD ~
$ mkdir Docker
$ CD Docker
$ touch dockerfile
$ vim Dockerfile

Começamos obtendo a imagem base do hub do docker. Podemos fazer isso usando a instrução From no Dockerfile.

Neste exemplo, criaremos um contêiner simples contendo o servidor nginx em execução na imagem Debian 10.

Debian 10 Imagem no Docker Hub

Edite o Dockerfile e adicione as seguintes entradas.

De Ebian: 10.9
Run Apt-Get Update && \
instalação apt -get -y nginx \
Mantenener de etiqueta = "linuxhint"
Versão de etiqueta = ”1.0 ”
Rótulo Descrição = ”Uma imagem simples executando o nginx no DeBain 10”
Exponha 80/TCP
CMD ["nginx", "-g", 'Daemon Off;']]

No Dockerfile acima, começamos definindo a imagem base (Debian 10.9)

Executamos vários comandos apt para atualizar pacotes e instalar o NGINX Web-Server.

Em seguida, adicionamos informações de metadados sobre a imagem, incluindo mantenedor, versão e descrição.

Finalmente, definimos a porta Expose e o comando desligar o daemon nginx. O comando acima impede que o contêiner seja interrompido.

Salve o arquivo e execute o Docker Build no arquivo.

Como construir uma imagem do Dockerfile

Depois de concluir o DockerFile, podemos prosseguir para construir a imagem. Execute o comando Docker Build dentro do diretório do Docker:

$ CD ~/Docker
$ Docker Build -pull -rm -f “Dockerfile” -t Docker: mais recente “.”

No comando acima, usamos o comando do Docker Build e passamos várias opções. Por exemplo, o -pull diz a Docker para tentar puxar a versão mais recente da imagem.

O -RM remove recipientes imediatos após a conclusão do processo de construção da imagem.

-f especifica o nome do Dockerfile.

Finalmente, a opção -t define a tag para a imagem.

Os comandos acima criarão com sucesso a imagem e a armazenarão em seu disco local.

Você pode verificar se a imagem existe chamando o comando:

$ Docker Image LS
$ Docker mais recente 162E94589BEC 2 minutos atrás 233MB

Como criar um contêiner do docker

Agora que temos a imagem do Dockerfile, podemos ir em frente e gerar um contêiner. Para fazer isso, usamos o comando do Docker Run como:

$ Docker Run -P 80:80 -Nigne Nginx Docker

Os comandos acima lançarão o contêiner com o nome nginx e ligarão o contêiner à porta 80.

Para mostrar contêineres em execução, use o comando:

$ Docker Container LS
1C90266035B5 NGINX: mais recente 57 segundos atrás de 56 segundos 80/TCP Nginx

O comando acima mostra o contêiner nginx em funcionamento.

Conclusão

Este tutorial cobriu a escrita dos doces, criando imagens e executando um contêiner do Docker a partir das imagens. Para saber mais sobre o Dockerfiles, considere a documentação.