Por que estou estudando Docker?

← ← ←   04/05/2022 10:29:25 | Postado por: Danilo Maia Florenzano


Posso começar com a resposta: porque assim minha aplicação funciona!

Nesse post eu conto um pouco da minha breve experiência com Docker. Então vou ilustrar minha afirmação com uma situação que passei.

Estou fazendo uma API para uma aplicação de controle de estoque. Nessa API estou usando PostgreSQL como banco de dados e TypeORM para fazer as conexões. E para trabalhar nessa API, em casa eu uso meu desktop com Windows 11 e fora eu uso meu notebook com Pop OS (distribuição Linux). Portanto eu tenho dois ambientes, e é aí que o Docker entra!

Link para o repositório da API citada.

Com o Docker, a primeira vantagem foi eu não precisar instalar o PostgreSQL em nenhuma máquina. Isso mesmo, da pra usar o banco de dados diretamente de um container. Pra isso, so precisei de duas coias: o docker (com docker-compose) instalado e um arquivo dentro do meu projeto com as configurações do container.

Abaixo tem o arquivo de configuração do container da API:


  \\ docker-compose.yml

  version: '3'
  services:
  db:
    image: 'postgres:latest'
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: inventario
    volumes: 
      - ./pgdata:/var/lib/postgres/data
    ports: 
      - "5432:5432"

Confesso que só essa pequena facilidade já me convenceu a usar o Docker em qualquer futuro projeto que eu faca. Mas além de "dockerizar" o banco de dados, fiz isso também com a aplicação inteira! E seguindo a lógica, se a aplicação roda perfeitamente no container, eu posso executar esse container em qualquer ambiente com a garantia de que ela vai continuar funcionando!

Chega de "mas na minha máquina funciona"!

Nesse post o intuito não é ensinar a usar o Docker. Mas caso você também seja iniciante e queira aprender, disponibilizo o link da playlist no YouTube onde eu aprendi:

Implementando uma API com Node.js, Express, TypeScript, TypeORM e Docker (parte 1 de 4)