1
resposta

[Dúvida] Dúvida sobre geração container com Angular e nginx

estou com um problema, ao rodar o dockerfile:

# Estagio 1 - Responsável por gerar o build da nossa aplicação
FROM node:18.13.0 as node
WORKDIR /app
COPY package.json /app
RUN npm i npm@latest -g
RUN npm install
COPY ./ /app
RUN npm run build

# Estagio 2 - Responsável por expor nossa aplicação
FROM nginx
COPY --from=node /app/dist /usr/share/nginx/html
COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf

é gerado todas as camadas, porém ao chegar no npm run build ele fica carregando infinitamente. O mais estranho é que eu consigo rodar normalmente o npm run build na minha máquina, só não no container.

1 resposta

Olá Carlos.

Tudo bem?

Desculpa a demora, estou respondendo esse tópico para tentar ajudar você e outros alunos que estiverem com essa mesma dúvida, e também para organizar o nosso fórum. Valeu :)

Parece que você está enfrentando um problema ao executar o comando "npm run build" dentro do seu container Docker. É estranho que funcione normalmente na sua máquina, mas não no container.

Existem algumas possíveis causas para esse problema. Vou listar algumas soluções que você pode tentar:

  1. Verifique se todas as dependências necessárias estão instaladas corretamente dentro do container. Certifique-se de que todas as dependências listadas no arquivo package.json estão sendo instaladas corretamente durante a construção do container.

  2. Verifique se você está usando a versão correta do Node.js dentro do container. No seu Dockerfile, você está usando a versão 18.13.0 do Node.js. Verifique se essa é a versão correta para o seu projeto. Talvez seja necessário atualizar a versão do Node.js no Dockerfile.

  3. Verifique se o comando "npm run build" está configurado corretamente no seu projeto. Certifique-se de que o script "build" está definido corretamente no arquivo package.json e que não há nenhum erro de digitação ou configuração incorreta.

Além disso, você pode tentar depurar o problema executando o container em modo interativo e verificando os logs de erro. Você pode fazer isso adicionando o parâmetro "-it" ao executar o comando "docker run". Por exemplo:

docker run -it <nome_do_container>

Isso permitirá que você veja a saída completa do comando "npm run build" e possa identificar qualquer erro específico que esteja ocorrendo.

Espero que essas sugestões possam te ajudar a resolver o problema. Se você tiver mais alguma dúvida, é só me dizer! Espero ter ajudado e bons estudos!