JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como implantar aplicativos Python com Docker

Editado 3 meses atrás por ExtremeHow Equipe Editorial

PythonDockerImplantaçãoContêineresJanelasMacLinuxDevOpsVirtualizaçãoAplicativosNuvemConfiguração

Como implantar aplicativos Python com Docker

Tradução atualizada 3 meses atrás

No mundo do desenvolvimento de software, implantar aplicativos Python pode muitas vezes ser um processo complexo e desafiador. Felizmente, o Docker revolucionou a maneira como desenvolvemos, enviamos e executamos aplicativos usando virtualização baseada em contêiner. Neste guia, vamos detalhar como implantar aplicativos Python com Docker. Vamos explicar os passos em termos simples, fornecer código de exemplo e ajudá-lo a entender completamente o conceito, o que é ideal para quem é novo no Docker ou busca fortalecer sua compreensão. Acompanhe e, ao final deste tutorial, você terá uma base sólida para implantar seus aplicativos Python usando Docker.

Entendendo o Docker

Docker é uma plataforma de código aberto que permite aos desenvolvedores automatizar a implantação de aplicativos dentro de contêineres leves e portáteis. Esses contêineres podem ser executados em qualquer lugar, seja no seu computador pessoal, em um servidor na nuvem ou em qualquer outro ambiente que suporte Docker. O principal benefício de usar Docker para implantar aplicativos Python é a consistência. Ao empacotar seu aplicativo e suas dependências em uma única unidade, você elimina o problema "funciona na minha máquina" e garante que ele terá o mesmo desempenho em todos os lugares.

Componentes do Docker

Antes de implantar seu aplicativo, vamos entender alguns dos principais componentes do Docker:

  1. Dockerfile: Este é um arquivo de texto que contém todos os comandos para montar a imagem. É como um plano para o Docker, detalhando todas as etapas necessárias para que o Docker execute seu aplicativo sem problemas.
  2. Imagem: É um arquivo portátil e imutável que contém o aplicativo e suas dependências. É o resultado do Dockerfile que contém todas as informações para construir um contêiner.
  3. Contêiner: Esta é uma instância em tempo de execução de uma imagem. Um contêiner contém tudo o que é necessário para executar um aplicativo: código, tempo de execução, ferramentas do sistema e bibliotecas.
  4. DockerHub: Um serviço de registro baseado em nuvem para compartilhamento de imagens Docker. Permite armazenar e distribuir imagens de contêiner. Você pode pensar nele como um GitHub para imagens Docker.

Configurando o Docker

Para começar a usar o Docker para implantar aplicativos Python, primeiro você precisa configurar o Docker na sua máquina. Aqui estão as etapas gerais:

docker --version

A saída deve exibir a versão instalada do Docker, indicando que o Docker está configurado com sucesso.

Construindo um Aplicativo Python Simples

Vamos percorrer o processo de criar um aplicativo Python simples que iremos implantar usando o Docker. Nosso aplicativo será um script Python simples que imprime "Hello, World!". Embora seja simples, servirá para entender o processo de implantação.

Crie um novo diretório para seu projeto e crie um arquivo chamado app.py dentro dele:

print("Hello, World!")

Salve o arquivo: Este script, app.py, simplesmente exibe "Hello, World!" no console.

Criando um Dockerfile

Em seguida, precisamos criar um Dockerfile no mesmo diretório que nosso script Python. Este Dockerfile conterá todas as instruções necessárias para que o Docker containerize nosso aplicativo Python.

  1. Crie um novo arquivo em seu diretório de projeto e nomeie-o Dockerfile (sem nenhuma extensão).
  2. Copie o seguinte conteúdo para o seu Dockerfile:
FROM python:3.8-slim
# Defina o diretório de trabalho
WORKDIR /app
# Copie o conteúdo do diretório atual para dentro do contêiner em /app
COPY . /app
# Execute app.py quando o contêiner iniciar
CMD ["python", "app.py"]

Vamos quebrar esse Dockerfile:

Construindo a imagem Docker

Agora que temos um Dockerfile, é hora de criar uma imagem Docker. A imagem será um pacote executável que contém tudo o que é necessário para executar nosso aplicativo.

Abra seu terminal ou prompt de comando, vá para o diretório contendo seu projeto e construa a imagem Docker usando o seguinte comando:

docker build -t hello-world-app .

O que este comando faz:

Uma vez que o processo de construção esteja completo, o Docker criará uma imagem chamada "hello-world-app".

Executando um contêiner Docker

Com a imagem pronta, agora podemos executar nosso aplicativo Python dentro do contêiner. Execute o seguinte comando em seu terminal ou prompt de comando:

docker run hello-world-app

Este comando informa ao Docker para executar um contêiner baseado na imagem "hello-world-app" que criamos. Se tudo estiver configurado corretamente, você deverá ver a saída:

Hello, World!

Esta mensagem simples confirma que o aplicativo Python foi executado com sucesso dentro do contêiner Docker.

Compartilhando e publicando imagens Docker

Parte do poder do Docker é sua capacidade de ser compartilhado facilmente em diferentes ambientes. Você pode querer compartilhar sua imagem Docker com outras pessoas ou implantá-la em uma plataforma de nuvem. DockerHub é um serviço de nuvem pública que permite armazenar e compartilhar suas imagens.

  1. Certifique-se de ter uma conta no DockerHub. Você pode criar uma conta gratuitamente visitando o site do DockerHub e se inscrevendo.

  2. Faça login na sua conta do DockerHub a partir do terminal:

    docker login

    Você será solicitado a inserir seu nome de usuário e senha do DockerHub.

  3. Marque sua imagem para enviar para o DockerHub. O DockerHub requer que seu nome de usuário do DockerHub seja adicionado ao lado das imagens. Use o seguinte comando para marcar sua imagem, substituindo [username] pelo seu nome de usuário do DockerHub:

    docker tag hello-world-app [username]/hello-world-app
  4. Envie a imagem marcada para o DockerHub:

    docker push [username]/hello-world-app

    Isso faz o upload da sua imagem para o DockerHub, tornando-a disponível para que outros a construam ou implantem em diferentes plataformas.

Limpeza

Após explorar o Docker e implantar seu aplicativo Python, é uma boa prática limpar recursos Docker desnecessários, como imagens e contêineres que ocupam espaço. Aqui estão alguns comandos básicos:

docker container prune
docker image prune
docker ps -a
docker rm container_id
docker rmi image_id

Substitua container_id e image_id pelos seus valores específicos.

Conclusão

Parabéns! Você agora aprendeu como implantar aplicativos Python usando Docker. Entender como imagens e contêineres Docker funcionam fornece um ótimo conjunto de ferramentas para qualquer desenvolvedor de software. Com esse conhecimento, você pode garantir que seus aplicativos sejam escaláveis, gerenciáveis, e possam ser executados de maneira consistente em qualquer ambiente. Continue explorando as capacidades do Docker e divirta-se containerizando!

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários