Vamos criar o nosso primeiro Dockerfile. Vamos supor que temos uma aplicação Python simples com um arquivo app.py
que contém o seguinte código:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
Aqui está o passo a passo para criar o Dockerfile:
- Crie um novo arquivo chamado
Dockerfile
(sem extensão) no mesmo diretório da sua aplicação. - Abra o arquivo
Dockerfile
em um editor de texto e adicione as seguintes linhas:
# Use a imagem base do Python
FROM python:3.9-slim
# Defina o diretório de trabalho
WORKDIR /app
# Copie os arquivos da aplicação para o diretório de trabalho
COPY . .
# Instale as dependências da aplicação
RUN pip install --no-cache-dir -r requirements.txt
# Defina o comando de execução da aplicação
CMD ["python", "app.py"]
Vamos explicar o que cada linha faz:
FROM python:3.9-slim
: Essa linha especifica a imagem base que será usada para a construção da imagem do Docker. Neste caso, estamos usando a imagem oficial do Python 3.9 com a tagslim
, que é uma versão mais leve da imagem.WORKDIR /app
: Essa linha define o diretório de trabalho dentro do container. Todas as ações subsequentes serão executadas neste diretório.COPY . .
: Essa linha copia todos os arquivos da aplicação (incluindo oapp.py
) para o diretório de trabalho dentro do container.RUN pip install --no-cache-dir -r requirements.txt
: Essa linha instala as dependências da aplicação, listadas no arquivorequirements.txt
.CMD ["python", "app.py"]
: Essa linha define o comando que será executado quando o container for iniciado. Ela inicia o script Pythonapp.py
.
Agora, crie o arquivo requirements.txt
no mesmo diretório da sua aplicação e adicione as seguintes linhas:
Flask==2.0.2
Isso especifica que a aplicação depende da biblioteca Flask, na versão 2.0.2.
- Construa a imagem do Docker usando o seguinte comando:
docker build -t minha-aplicacao-python .
Este comando constrói a imagem do Docker usando o Dockerfile e a nomeia como minha-aplicacao-python.
Inicialize um container a partir da imagem recém-criada:
docker run -p 8080:8080 minha-aplicacao-python
Este comando inicia um container a partir da imagem minha-aplicacao-python
e mapeia a porta 8080 do container para a porta 8080 do host.
Agora, você pode abrir o seu navegador e acessar http://localhost:8080
para ver a sua aplicação Python em execução dentro do container do Docker.
Parabéns, você acabou de criar o seu primeiro Dockerfile e executar uma aplicação Python em um container do Docker!
Se você precisa administrar seus containers Docker, confira este post a seguir. Ele traz os principais comandos básicos que você pode utilizar para trabalhar com Docker.
Nos acompanhe nas redes sociais e até a próxima!
https://www.linkedin.com/company/deltaopscloud/
Referência:
Escrito por 🖋️ Diogo Lima
Sócio Fundador da Empresa DeltaOps