Como dockerizar um aplicativo Django

Como dockerizar um aplicativo Django

O Docker é uma das plataformas de contêineres mais populares, permitindo que você gerencie aplicativos em contêineres. O Docker fornece arquitetura e recursos para automação de contêiner, segurança, personalização e suporte empresarial.

O Docker tem três componentes importantes: o cliente Docker (uma ferramenta de linha de comando), Docker Host e Docker Registry. Esses três componentes trabalham juntos para permitir que você crie, execute e armazene aplicativos.

Descubra como usar essa ferramenta incrível, conteinerizando um aplicativo Django de exemplo. Primeiro, aprenda a instalar o Docker no Ubuntu, macOS e Windows.

Instale o Docker no Ubuntu

Comece instalando o Docker em seu sistema operacional preferido. Você pode seguir estas notas para instalar o Docker no Ubuntu ou usar as seguintes instruções para macOS ou Windows.

Instalar o Docker no macOS

Para instalar o Docker no macOS, certifique-se de ter o macOS 11 ou superior. Em seguida, siga estas etapas:

  1. Baixe o Docker no site do hub do Docker .
  2. Clique duas vezes em Docker.dmg para abrir o instalador.
  3. Arraste o ícone do Docker para a pasta Aplicativos.
  4. Para iniciar o Docker, clique duas vezes em Docker.app .
  5. O logotipo da baleia Docker na barra de status indica que o Docker está em execução.

Você também pode instalar o Docker no macOS por meio da linha de comando seguindo as instruções de instalação do Docker Mac .

Instalar o Docker no Windows

Siga as etapas a seguir para instalar a área de trabalho do Docker no sistema operacional Windows:

  1. Baixe o Docker no site do hub do Docker .
  2. Clique duas vezes em Docker Desktop Installer.exe para executar o instalador.
  3. Habilite o recurso Windows Hyper-V na página de configuração durante a instalação.
  4. Siga o processo e conceda todas as permissões até que a instalação seja concluída.
  5. Após a instalação, clique em Fechar para concluir o processo.
  6. Para iniciar o Docker, pesquise e selecione Docker Desktop nos resultados de pesquisa da área de trabalho.

Como alternativa, você pode instalar o Docker no sistema operacional Windows usando uma linha de comando seguindo as instruções de instalação do Docker Windows .

Criar aplicativo Django

Crie um aplicativo Django simples. Você pode ver o aplicativo ao navegar para http://127.0.0.1:8000. Você irá conteinerizar este aplicativo.

Aplicativo no navegador com Hello docker H1

Criar um Dockerfile

Para conteinerizar o aplicativo, você deve criar uma imagem do Docker para criar e executar contêineres. Uma imagem do Docker é um modelo de instruções sobre como executar contêineres.

Você usará um Dockerfile para criar uma imagem para o aplicativo. Crie um arquivo na pasta raiz chamado Dockerfile. Em seguida, adicione as seguintes instruções ao arquivo:

FROM python:3

WORKDIR /app

ADD. /app/

EXPOSE 8000

COPY requirements.txt /app

RUN pip3 install -r requirements.txt --no-cache-dir

COPY. /app

ENTRYPOINT ["python3"]

CMD ["manage.py", "runserver", "0.0.0.0:8000"]

Dockerfiles usam palavras-chave exclusivas do Docker para especificar instruções.

A palavra-chave FROM identifica a imagem base com a qual você deseja construir a imagem. A imagem Python do Docker possui os componentes necessários para executar o aplicativo Django. O Docker usará a mesma imagem em compilações subsequentes.

A palavra-chave WORKDIR cria um diretório dentro do contêiner. O comando de exemplo identifica o diretório /app como a pasta raiz.

O comando ADD adiciona tudo na pasta atual na pasta /app .

A palavra-chave EXPOSE expõe uma porta dentro da imagem do Docker para o mundo externo. Você pode visualizar o aplicativo conteinerizado nesta porta usando um navegador.

A palavra-chave COPY copia o conteúdo de uma pasta e o coloca em outra. No seu caso, ele copiará todo o conteúdo do App do diretório atual. O conteúdo irá para a pasta App no ​​contêiner.

A palavra-chave RUN executa quaisquer comandos em uma nova camada da imagem atual e confirma os resultados. A próxima etapa no Dockerfile usará a imagem consolidada resultante.

A palavra-chave ENTRYPOINT define um contêiner como um executável. Neste caso, é Python3. Você pode usá-lo com ou no lugar da palavra-chave CMD . Um Dockerfile deve especificar uma ou ambas as palavras-chave CMD ou ENTRYPOINT . O Docker define como as duas instruções cooperam.

A palavra-chave CMD executa um comando do Linux quando a imagem é iniciada. A instrução define qual comando é executado quando você executa um contêiner.

Crie a imagem do Docker

Agora que o Dockerfile está completo, vá em frente e crie a imagem do Docker. Execute o seguinte comando para criar a imagem:

docker build --tag docker-django-app:latest.

Quando começar a construir, o Docker construirá a imagem em camadas. As camadas serão de acordo com o número de instruções dadas no Dockerfile . Neste caso, você terá nove camadas. Nove etapas representarão essas camadas.

Uma compilação bem-sucedida aparecerá assim:

docker compilar imagem com sucesso

Agora, se você verificar as imagens do docker, deverá ver a nova imagem.

imagem recém-criada no docker

Executar o contêiner do Docker

Em seguida, você precisa executar a imagem no contêiner. É aqui que o aplicativo ficará. Execute o seguinte comando para executar a imagem:

docker run --name docker-djangoapp -p 8000:80 -d docker-django-app:latest

Ele deve retornar um número de série para o contêiner da seguinte forma:

novo aplicativo em contêiner

O comando Docker run permite marcas de opções para imagens. Nesse caso, você deseja usar a tag –name para nomear o contêiner docker-djangoapp . Em seguida, execute o contêiner na porta 8000:80 com -p . Em seguida, especifique a imagem com a qual deseja criar o contêiner. Esta é a imagem docker-django-app:latest que você criou anteriormente.

O comando docker run cria uma camada de contêiner sobre a imagem. Em seguida, ele o inicia usando o comando especificado. A sintaxe para executar contêineres é a seguinte:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Verifique os contêineres do Docker para ver se o contêiner está em execução. Ao executar o docker ps , deve aparecer o seguinte:

Novo contêiner em execução no docker

Parabéns! Você conteinerizou seu primeiro aplicativo. Em seguida, você pode enviar o contêiner para o registro do Docker para armazenamento. Você pode acessar seu aplicativo sempre que desejar de qualquer máquina.

Você também pode compartilhá-lo com outras pessoas online. O registro oferece segurança para imagens e permite privilégios extras em contas privadas.

Por que dockerizar um aplicativo?

Cada vez mais desenvolvedores estão usando o Docker para otimizar a construção e o gerenciamento de contêineres em qualquer ambiente virtual.

O Docker vem com recursos produtivos, incluindo um cliente que emite comandos de compilação para daemons do Docker. O daemon cria imagens e executa contêineres. Você pode criar e armazenar as imagens no registro do Docker. Isso garante que as imagens estejam seguras e disponíveis online.

O Docker oferece imagens oficiais já configuradas com componentes prontos. Você pode usar essas imagens para criar contêineres para seus aplicativos rapidamente.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *