Finch da AWS: alternativa ao Docker Desktop, testada num projeto
Parei o Docker da minha máquina e rodei um projeto real (Node, React e Postgres) só com o Finch, o cliente de containers de código aberto mantido pela AWS. O Dockerfile e o compose.yml ficaram como estavam; só a primeira palavra do comando mudou. Abaixo estão os comandos, os erros que cometi e o que o teste não cobre.
Por que olhar para uma alternativa ao Docker
O Docker deixou de ser gratuito para empresas grandes. Pelo que citei, desde 2021, com avaliação a partir de janeiro de 2022: a cobrança vale para empresas a partir de 250 usuários (ou 10 milhões de dólares de faturamento). Confira os números atuais na página oficial do Docker, porque eles podem mudar.
Eu não estou dizendo que o Docker vai morrer. Pode ser que ele continue sendo o padrão do mercado. Mas se o critério de licenciamento mudar, por exemplo para empresas a partir de 50 usuários, uma fatia bem maior de empresas passa a ser afetada. Por isso, no seu lugar, eu também começaria a fazer testes.
O que é o Finch
O Finch é código aberto, funciona só por linha de comando e foi criado e é mantido pela AWS. Ele foi lançado em 2022. O repositório oficial está em github.com/runfinch/finch, a documentação em runfinch.com/docs e o anúncio de lançamento no blog de código aberto da AWS.
O Docker, para você operar, pede o Docker Desktop, que é mais pesado. O Finch dispensa esse programa. Os dois usam por baixo o containerd, o ambiente de execução de containers padrão do setor, focado em simplicidade e robustez. Por isso a sua aplicação, muito provavelmente, não precisa do Docker: precisa de um runtime de containers.
Ele é compatível com Mac, Windows e Linux, incluindo Ubuntu e instâncias Amazon Linux. A documentação oficial traz a instalação para cada um dos três sistemas.
1Conferir que o Finch está rodando
Eu não cobri a instalação. O post de lançamento da AWS que mostrei traz o passo a passo: depois de instalar, a máquina virtual do Finch é inicializada com finch vm init e, depois de um reinício, sobe de novo com finch vm start. Eu só rodei o teste.
Primeiro parei o Docker e rodei docker run hello-world: parou de responder. Depois, a imagem de teste do Finch:
finch run --rm public.ecr.aws/finch/hello-finch
Ela imprime "Hello from Finch!": o Finch funciona e o Docker está parado.
2Build e run, trocando só a primeira palavra
O projeto de teste é o BIA, aplicação em Node com React que uso com os alunos da Formação AWS. Ele já tem Dockerfile e compose.yml, e eu não mexi em nenhum dos dois. Com o Docker seria docker build -t bia-finch .. Com o Finch:
finch build -t bia-finch .
O comando procura o Dockerfile no diretório atual. Na primeira tentativa errei o diretório e veio "no such file or directory"; entrei na pasta do projeto e rodou. O build correu como no Docker, com o Docker parado.
Para subir o container, as opções vêm antes do nome da imagem:
finch run -p 3001:8080 --rm bia-finch
O -p 3001:8080 mapeia a porta 3001 da máquina para a 8080 do container, e o --rm remove o container quando ele parar. Na primeira vez escrevi o nome da imagem antes da porta e deu erro: a imagem vai por último. Abri localhost:3001 e a aplicação estava de pé. Com Ctrl+C o container para.
3Subir com compose, banco incluso
A aplicação precisa do banco, então uso compose. O compose.yml do projeto faz o build do servidor, publica a porta e depende do serviço do banco (Postgres 17.1).

Com o Docker eu rodaria docker compose up -d. Com o Finch:
finch compose up -d
Saíram alguns avisos e informações do próprio Finch, mas o projeto subiu. Conferi com finch ps: os dois containers estavam de pé, criados com 8 e 7 segundos de diferença, primeiro o banco e depois o servidor. [[diagrama]]
4Rodar a migration e testar a persistência
Na primeira tentativa, a tarefa não foi salva. O motivo não é o Finch: o projeto tem migrations, e a tabela de tarefas ainda não existia. O README do projeto traz o comando para o Docker; basta trocar a primeira palavra:
finch compose exec server bash -c 'npx sequelize db:migrate'
Ele entra no serviço server e roda o Sequelize para criar a estrutura relacional. A saída mostrou as migrations rodando.
Depois disso, cadastrei a tarefa "tirando docker e colocando o finch" e ela foi salva.

Para ver o banco trabalhando, abri os logs:
finch logs -f
Dá para ver os INSERT, SELECT e UPDATE a cada tarefa. Tudo se comportou como se eu estivesse com o Docker.
O que eu concluo (e o que não)
Eu não concluí que o Docker acabou. Concluí que existem alternativas e que vale começar a testar antes de precisar. O Finch rodou o meu projeto com build, run, compose e migrate sem eu mexer no Dockerfile nem no compose.yml. Citei também o Podman e outras opções do mercado.
Se a sua empresa é pequena, talvez você não precise fazer nada. Se ela está em uma situação que pode ficar em risco pela quantidade de funcionários, por que não mudar? Ainda tem o ganho de não depender do Docker Desktop: o Finch se instala por linha de comando e a máquina virtual é bem leve.
O que o teste não cobre: foi um projeto só, na minha máquina. Estou testando o Finch de forma exaustiva e confio nele por ser mantido pela AWS, mas faça os seus testes no seu projeto antes de trocar qualquer coisa.
Checklist
- [ ] Finch instalado e a máquina virtual iniciada (
finch vm init,finch vm start) - [ ]
finch run --rm public.ecr.aws/finch/hello-finchimprime "Hello from Finch!" - [ ]
finch build -t <nome> .roda no diretório doDockerfile - [ ]
finch run -p 3001:8080 --rm <nome>abre a aplicação emlocalhost:3001, com as opções antes da imagem - [ ]
finch compose up -dsobe o servidor e o banco, efinch pslista os dois containers - [ ] A migration rodou com
finch compose exece a aplicação salva dados - [ ] Você conferiu a licença atual do Docker na página oficial
Se você quer aprender containers e AWS fazendo projeto de verdade, como este, é esse o trabalho da Formação AWS.
O que os alunos dizem

“A prática e a clareza da metodologia me deram direção para entender a AWS de verdade e agir com segurança no dia a dia.”
Luiz Campedelli, Estagiário em Cloud
Ver depoimento
“Comecei a estudar Cloud em 2023 e entrei na Imersão AWS para aprofundar minha prática.”
Luiz Claudio, Arquiteto de Soluções
Ver depoimento
“Hoje recebo oportunidades 100% remoto e finalmente me sinto recolocada no mercado.”
Patrícia Prado, Desenvolvedora Back-end
Ver depoimento
Formação AWS
Aprenda AWS e IA na prática, com projeto real e acompanhamento. Converse com o time sobre a Formação AWS.
Agende uma conversaPrefere assistir?
A aula completa (15 min) está no canal Domine AWS. O vídeo toca aqui mesmo.

