Executando verificação de segurança...
1

[Docker/Dúvida] Containerização de aplicação Full-stack

Qual seria a forma correta de se containerizar uma aplicação Full-stack? Na última vez que fiz isso, precisei colocar o docker-compose dentro da pasta do Back-end, para que fosse possível acessar as variáveis de ambiente, e rodar as migrações do ORM. Essa seria a forma correta? Ou existe uma forma mais elegante? Foi utilizado no Front-end NextJS e no Back-end Express com Prisma.

Carregando publicação patrocinada...
2

aqui na empresa em que trabalho, eu coloquei um dockerfile em cada projeto, porem a img gerada no projeto do front usa como base a img gerada no back. assim no final fica uma img com os dois sistemas

1
2

Acredito que o melhor seria você ter um Dockerfile para cada uma das partes(back e front).
Sobre o front, se você não usa algum processamento a nível de servidor com o next, o ideal seria colocar o conteúdo gerado pelo build em alguma plataforma de CDN, recomendo o cloudflare pages, gratuíto e simples de configurar.
Do contrário cria um Dockerfile para cada, no do backend você coloca no CMD ou ENTRYPOINT para rodar as migrations antes de executar node, quanto as variáveis de ambiente, o ideal é referencia-las dentro do docker-compose.
Aí você cria as imagens e envia para o container registry que você usa, e no docker-compose você coloca elas como referência, sendo que para alterar o ambiente que deseja ou simplesmente fazer rodar, vai precisar apenas do arquivo docker-compose.yml

1