Quem nunca precisou criar uma simples aplicação para rodar uma determinada tarefa ou processo? Pois é, as vezes esse tipo de trabalho requer que seja executado da forma mais simples sem a instalação e configuração de pacotes, ajustes em servidores, entre muitos outros processos.
Veremos nesse artigo como criar um container em Docker com uma imagem do Python, em seguida, vamos executar um simples script .py
para certificar de que tudo esteja rodando corretamente.
Antes de tudo, é necessário criar uma pasta na qual seu projeto vai estar. Também é importante que você já tenha o Docker instalado e configurado no seu ambiente de trabalho.
Antes de começarmos a configurar nosso container em Docker, vamos criar uma pasta na raiz do projeto chamada de app/. Dentro dessa pasta, crie um arquivo chamado index.py e insira o código abaixo.
print("SatellaSoft tutorial")
Basicamente criamos um arquivo dentro da nossa pasta de trabalho. Esse arquivo contém um código que quando executado irá exibir uma mensagem no console, comprovando assim que nosso container e imagem está funcionando corretamente.
Primeiramente vamos criar um arquivo chamado Dockerfile na raiz do projeto. Esse arquivo não tem extensão e por convenção, a letra D inicial é na maiúscula.
Agora insira as linhas de instrução abaixo.
FROM python:3
WORKDIR /app
COPY . .
CMD ["python", "app/index.py"]
Vamos ver a explicação de cada um desses comandos:
Caso você tenha algum arquivo na qual não deseje que seja levado para o container, poderá criar na raiz do projeto um arquivo chamado .dockerignore e inserir nele o caminho das pastas e arquivos a serem ignorados.
Até aqui nos temos a estrutura de pasta conforme mostra a imagem abaixo.
Até aqui a gente criou toda a nossa estrutura do Dockerfile, nossa pasta e arquivo em Python, sendo assim, estamos pronto para construir e rodar nosso container.
Primeiramente, vamos fazer a build, que nada mais é do que fazer com que o Docker leia nosso arquivo Dockerfile e siga as instruções nele, gerando assim uma nova imagem. Para isso, abra o terminal na raiz do projeto e rode o comando abaixo.
docker build -t micro-python .
Vamos entender o comando:
Se a gente for analisar o Docker Desktop, por exemplo, podemos ver que a nossa imagem já foi construída e está disponível localmente.
Agora vamos construir nosso container com base na nossa imagem, para isso, vamos executar o comando abaixo.
docker run -it micro-python
O comando acima executa nossa imagem no modo interativo (-it), fazendo com que o terminal fique disponível e não travado. Veja que especificamos também o nome da imagem na qual queremos construir.
Também podemos passar o parâmetro --rm
, que faz com que o container seja deletado após a execução.
Se você seguiu tudo corretamente até aqui, verá uma mensagem no terminal como mostra a imagem abaixo.
Montamos aqui um exemplo bem simples mas funcional, que pode ser utilizado em diversos cenários e aplicações. Continue seus estudos para aprender mais sobre o Python e Docker.
Você pode acessar o repositório desse projeto em https://github.com/satellasoft/Criando-um-container-em-Docker-com-Python.
Também temos uma videoaula com o exemplo criado nesse artigo.
Qualquer dúvida ou sugestão, deixe nos comentários.