Docker Construa um guia para iniciantes para a construção de imagens do Docker

Docker Construa um guia para iniciantes para a construção de imagens do Docker

Docker é uma ferramenta popular para embalagem e implantação de aplicativos em um ambiente isolado, e uma parte essencial do Docker Workflow está construindo imagens do Docker. Podemos construir nossas próprias imagens com a ajuda de imagens básicas e usá -las para criar contêineres. Também podemos puxar as imagens diretamente do Hub do Docker (https: // hub.Docker.com/) para nossa aplicação. Neste guia para iniciantes, explicaremos o que são imagens do Docker e como construí -las.

O que é uma imagem do Docker?

Uma imagem do docker é um pacote leve, independente e executável que inclui tudo o que é necessário para executar um software, incluindo o código, um tempo de execução, bibliotecas, variáveis ​​de ambiente e arquivos de configuração.

As imagens do Docker são construídas sobre a tecnologia de contêiner de código aberto do Docker, que permite aos desenvolvedores empacotam e implantam aplicativos em um contêiner, facilitando a execução de aplicativos de forma consistente em diferentes ambientes.

Como construir uma imagem do Docker

Para construir uma imagem do Docker, você precisa criar um DockerFile, que é um arquivo de texto que contém um conjunto de instruções para criar a imagem. O DockerFile diz a Docker o que fazer ao criar a imagem, como quais arquivos incluir, quais bibliotecas instalar e quais comandos para executar.

Aqui está um exemplo do DockerFile que cria uma imagem simples do Python:

De Python: cópia 10-Slim . /app workdir /aplicativo execute pip install -r requisitos.txt cmd ["python", "principal.py "]
12345678De Python: cópia 10-Slim . /AppworkDir /App Run Pip Install -R Requisitos.txt cmd ["python", "principal.py "]

Neste exemplo:

  • O DockerFile começa com uma instrução 'de', que especifica a imagem base a ser usada como ponto de partida para a nova imagem. Nesse caso, estamos usando o 'Python: 3.10-Slim ' imagem, que inclui uma versão mínima de Python 3.10.
  • O 'CÓPIA DE' Instrução copia os arquivos do diretório atual (.) no '/aplicativo' diretório na imagem.
  • O 'Workdir' instruções define o diretório de trabalho para '/aplicativo', para que quaisquer comandos subsequentes sejam executados a partir desse diretório.
  • O 'CORRER' a instrução executa um comando para instalar as dependências python especificadas no 'Requisitos.TXT' arquivo.
  • finalmente, o 'Cmd' a instrução especifica o comando para executar quando o contêiner é iniciado. Nesse caso, ele executa o 'principal.py ' Script Python.

Para construir a imagem, você pode usar o comando do Docker Build e especificar o 'Dockerfile' e um nome para a imagem:

Docker Build -t My-Python-App .  

Isso vai construir a imagem e dar a tag 'My-Python-App'. Você pode executar a imagem usando o 'Docker Run' comando:

Docker Run My-Python-App  

Gerenciando as imagens do Docker

Depois de construir imagens do Docker, existem algumas tarefas que você pode precisar executar para gerenciá -las. Aqui estão algumas tarefas comuns para gerenciar imagens do Docker:

  • Listando imagens:
  • Você pode usar o 'Imagens do Docker' comando para listar todas as imagens em seu sistema. A saída incluirá o repositório, a etiqueta e o ID da imagem para cada imagem.

    Imagens do Docker  Id de imagem da tag repositório criado tamanho my-python-app mais fc6a1ed7b9fb 3 minutos atrás 967 MB Python 3.10-Slim BD4E6CDB1E80 7 dias atrás 142 MB 

  • Removendo imagens:
  • Para remover uma imagem, você pode usar o 'Docker rmi' Comando seguido pelo ID da imagem ou repositório e tag. Por exemplo, para remover a imagem My-Python-App, você pode usar o seguinte comando:

    Docker RMI My-Python-App  

  • Imagens de marcação:
  • Você pode usar tags para dar a suas imagens nomes descritivos e gerenciar facilmente várias versões. Para marcar uma imagem, você pode usar o 'tag do docker' comando seguido pelo 'ID da imagem', o repositório e o nome da tag e o valor da tag. Por exemplo, para marcar o 'My-Python-App' imagem com o '1.0 ' Tag, você pode usar o seguinte comando:

    tag do docker fc6a1ed7b9fb my-python-app: 1.0  

  • Empurrando imagens para um registro:
  • Um registro é um local de armazenamento para imagens do Docker e você pode usar um registro para compartilhar suas imagens com outras pessoas ou implantá -las em um ambiente de produção. Para empurrar uma imagem para um registro, você primeiro precisa fazer login no registro usando o 'Docker Login' comando e depois use o 'Docker Push' comando para fazer upload da imagem. Por exemplo, para empurrar o 'My-Python-App' Imagem para o registro do Docker Hub, você pode usar os seguintes comandos:

    Docker Login  Docker Push My-Python-App  

  • Puxando imagens de um registro:
  • Para puxar uma imagem de um registro, você pode usar o 'Docker Pull' comando seguido pelo repositório e nome da tag. Por exemplo, para puxar a imagem do My-Python-App do registro do Docker Hub, você pode usar o seguinte comando:

    Docker Pull My-Python-App  

Ao usar esses comandos, você pode gerenciar facilmente suas imagens do Docker e compartilhá -las com outras pessoas.

Melhores práticas para a construção de imagens do Docker

Existem algumas práticas recomendadas a serem lembradas ao criar imagens do Docker:

  • Use uma imagem base mínima: Geralmente é uma boa idéia usar uma imagem base mínima, como alpina ou slim, para manter o tamanho da imagem o mais pequeno possível.
  • Mantenha o Dockerfile simples: Tente manter o Dockerfile o mais simples possível, com cada instrução fazendo uma coisa. Isso facilitará a compreensão e a manutenção.
  • Use construções de vários estágios: Se o seu aplicativo tiver várias etapas de construção, como construção e teste, você poderá usar construções de vários estágios para criar uma única imagem que inclua apenas os componentes necessários. Isso pode ajudar a reduzir o tamanho da imagem.
  • Use cache: Docker possui um mecanismo de cache embutido que armazena os resultados intermediários de cada instrução no 'Dockerfile
  • Use um .Arquivo Dockerignore: Semelhante a a .arquivo gitignore, um .O arquivo Dockerignore permite especificar padrões para arquivos e diretórios que devem ser excluídos ao criar a imagem. Isso pode ajudar a melhorar o desempenho da construção e manter o tamanho da imagem menor.
  • Use variáveis ​​de ambiente: Em vez de valores de codificação harding no Dockerfile, você pode usar variáveis ​​de ambiente para tornar a imagem mais flexível e mais fácil de modificar.
  • Mantenha a imagem atualizada: É importante manter a imagem base e quaisquer pacotes instalados atualizados para garantir que você tenha os mais recentes patches e recursos de segurança.
  • Teste a imagem: Antes de implantar a imagem, é uma boa ideia testá -la para garantir que funcione como esperado. Você pode usar o Docker compor para configurar um ambiente de desenvolvimento local e executar a imagem em um contêiner.

Conclusão

Neste guia, cobrimos o básico da construção de imagens do Docker e fornecemos algumas práticas recomendadas a seguir. Seguindo essas diretrizes, você pode criar imagens eficientes e confiáveis ​​do Docker que podem ser facilmente implantadas e mantidas.