Estoy creando una aplicación basada en consola en Node JS. No se utilizan puertos... Es solo una aplicación básica. El problema que tengo es usar Docker para ejecutar mi aplicación.
Aquí está mi archivo docker:
FROM node:16 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . CMD [ "node", "index.js" ]Después de crear la imagen, intento ejecutar 'docker run' y el contenedor sale de inmediato. Sin embargo, cuando uso la aplicación de escritorio Docker, después de crear la imagen, si hago clic en 'ejecutar', crea el contenedor y no sale, pero en realidad se ejecuta. Cuando inicio sesión en ese contenedor, puedo ejecutar 'node index.js' y mi aplicación de nodo funciona bien.
Mi pregunta es, ¿por qué funciona cuando se ejecuta la ventana acoplable GUI y no mi comando? Además, ¿por qué tengo que ejecutar 'node index.js' manualmente cuando el archivo docker debería encargarse de eso?
Comandos para construir la imagen y ejecutar el contenedor:
Construcción de imagen:
docker build -t 'appname' .Crear contenedor:
docker run 'appname'