Docker: Vamos criar a primeira aplicação e colocar num container
O Docker é uma plataforma de software que simplifica o processo de desenvolvimento, implantação e execução de apps dentro de containers. Depois de uma apresentação da tecnologia aqui, de ensinarmos alguns comandos, de ensinarmos a instalar o Docker... hoje vamos aprender a criar a primeira aplicação e a colocá-la num container.
Container são ambientes isolados e leves que têm tudo o que a app precisa para ser executada, incluindo bibliotecas, dependências e código. Com o Docker, os programadores podem empacotar as suas aplicações com todas as partes necessárias, garantindo consistência entre diferentes ambientes, desde o desenvolvimento até a produção. Isso torna a implantação de apps mais rápida, confiável e escalável.
Primeira app e container em Docker
#1 - Criação do projeto
Para este projeto vamos criar 2 ficheiros. Um ficheiro com o nome Dockerfile e um ficheiro com o nome app.py.
#2 - Ficheiro app.py
Dentro do ficheiro app.py vamos inserir o seguinte código em Python:
#!/usr/bin/env python3 print("Olá Mundo! Viva o Pplware") |
Na prática, quando este script for executado escreve no ecrã: "Olá Mundo! Viva o Pplware".
#3 - Ficheiro Dockerfile
Vamos agora criar o ficheiro Dockerfile e colocar a seguinte informação. Na prática, indicamos que pretendemos ter a última versão do python, copiamos o script app.py para a raiz do sistema e depois executamos o script. DE referir que este tutorial foi feito para Linux.
FROM python:latest COPY app.py / CMD [ "python", "./app.py" ] |
#4 - Criar imagem Docker
Para criar a imagem Docker, basta que execute este comando na pasta onde tem os ficheiros app.py e Dockerfile
docker build -t primeiraapp . |
#5 - Executar a app
Para executar a app, basta que corra o seguinte comando:
docker run primeiraapp |
Pode ver informações sobre o container usando o comando docker ps -a.
Como já referimos, as vantagens do Docker são mais que muitas, até porque desta forma o tempo de deploy é bastante reduzido comparativamente a outras soluções (ex. virtualização). Uma solução criada em Docker é altamente portável (conceito: Desenvolve uma vez... executa em qualquer lugar).