Hay muchas plantillas Angular 2+ (por ejemplo, http://coreui.io/ ) que funcionan bien en Node, simplemente haciendo lo siguiente:
npm install npm start Sin embargo, hacer que se ejecuten en un contenedor Docker es un desafío. Probé el enfoque estándar para crear dockerfile pero esto no funciona
¿Debería haber una forma simple de dockerizar cualquier aplicación que se ejecute en Node?
¿Qué me estoy perdiendo?
Así es como se ve mi dockerfile (generado por yo docker ):
FROM node:latest WORKDIR /src EXPOSE 4200 ENTRYPOINT ["npm", "start"] COPY . /src RUN npm installLo primero que sugeriría, no use node:latest . ¿Qué versión de nodo ejecutas normalmente? especificar esa versión.
probablemente necesites crear la carpeta /src
y también debe cambiar ENTRYPOINT a CMD
FROM node:7.9 RUN mkdir /src WORKDIR /src # cache the node modules for faster re-builds COPY ./package.json /src RUN npm install COPY . /src EXPOSE 4200 CMD ["npm", "start"]esto debería cubrir las aplicaciones de nodo más básicas.
Sin embargo, las cosas se complican rápidamente. si necesita más información sobre cómo crear un dockerfile adecuado, tengo un curso completo sobre docker con nodejs: https://sub.watchmecode.net/guides/build-node-apps-in-docker/