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:
- Baixe o Docker no site do hub do Docker .
- Clique duas vezes em Docker.dmg para abrir o instalador.
- Arraste o ícone do Docker para a pasta Aplicativos.
- Para iniciar o Docker, clique duas vezes em Docker.app .
- 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:
- Baixe o Docker no site do hub do Docker .
- Clique duas vezes em Docker Desktop Installer.exe para executar o instalador.
- Habilite o recurso Windows Hyper-V na página de configuração durante a instalação.
- Siga o processo e conceda todas as permissões até que a instalação seja concluída.
- Após a instalação, clique em Fechar para concluir o processo.
- 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.
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:
Agora, se você verificar as imagens do docker, deverá ver a nova imagem.
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:
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:
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