domingo, 9 de julho de 2023

Roteiro para a criação de contêiner Docker para uma aplicação com Python

Quero rodar uma aplicação escrita em Python com suas dependências em um contêiner Docker, construído do zero.

Para isso, preciso:

1 - Definir um diretório de trabalho na máquina local.

2 - Construir a imagem Docker, a partir das instruções do arquivo "Dockerfile" (sem extensão) e das dependências listadas no arquivo "requirements.txt".

3 - Construir a imagem. Nesta fase, são instaladas as dependências encontradas em "requirements.txt".

4 - Executar o contêiner, mapeando a pasta local com a pasta do contêiner onde roda a aplicação.

Só isso!

👀 Exemplificando ... 

1 - Definir o diretório de trabalho. Exemplo:

/Users/pimentel/Desktop/prescricao

2a - Criar o arquivo "Dockerfile". Exemplo de conteúdo:

# Diretório de trabalho dentro do contêiner
WORKDIR /app

# Copia requirements.txt para o diretório de trabalho
COPY requirements.txt .

# Instala as dependências listadas em requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Copia o conteúdo do diretório atual para o do contêiner
COPY . .

# Define o comando padrão para executar o conteiner
CMD [ "python", "app.py" ]

A linha CMD [ "python", "app.py" ] define o comando padrão a ser executado quando o contêiner for iniciado. A linha é necessária para definir o ponto de entrada.

2b - Criar o arquivo "requirements.txt". Exemplo de conteúdo:

python-dateutil
PyQt5==5.15.9
PyQt5-Qt5==5.15.2
PyQt5-sip==12.12.1

3 - Construir a imagem (no caso, com o nome de "prescricao"). O ponto no final indica que o arquivo "Dockerfile" se encontra no diretório atual.

(base) pimentel@MacBook-Air-de-Jose prescricao % docker build -t prescricao .

4 - Executar. O argumento "it" garante a interação com o terminal do contêiner.

docker run -v /Users/pimentel/Desktop/prescricao:/app -it prescricao


Nenhum comentário:

Postar um comentário