Tengo un par de contenedores docker trabajando juntos, cuando ejecuto compose localmente funciona, y cuando ejecuto docker run en el express dockerfile funciona.
Estoy tratando de implementar esto en un host en la nube, así que sigo estos pasos: 1- guarde el código. 2- crear imágenes 3- enviar imágenes al concentrador 4- ejecutar docker-compose en el servidor a través de ssh
Veo que el cliente y los contenedores de la base de datos funcionan, pero Express sale con
express_server | npm ERR! code ENOENT express_server | npm ERR! syscall open express_server | npm ERR! path /src/package.json express_server | npm ERR! errno -2 express_server | npm ERR! enoent ENOENT: no such file or directory, open '/src/package.json' express_server | npm ERR! enoent This is related to npm not being able to find a file. express_server | npm ERR! enoent express_server | express_server | npm ERR! A complete log of this run can be found in: express_server | npm ERR! /home/node/.npm/_logs/2021-09-20T22_29_26_142Z-debug.logaunque entiendo que es un problema con el archivo src que no contiene el paquete.json, no puedo entender por qué no está en la imagen o qué debo hacer diferente para el archivo de composición que
docker-compose (parcial)
express: container_name: express_server networks: - client - server # The location of dockerfile to build this service image: "bork/server:latest" # Command to run once the Dockerfile completes building command: npm run start # Volumes, mounting our files to parts of the container volumes: - .:/src/app # Ports to map, mapping our port 3000, to the port 3000 on the container ports: - 3000:3000 # designating a file with environment variables env_file: - config/.env.expressarchivo acoplable local
# syntax=docker/dockerfile:1 FROM node:14.17.5 ENV NODE_ENV=production #RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app WORKDIR /src COPY package*.json /src/ #USER node RUN npm install COPY . . EXPOSE 3000 CMD ["npm", "run", "startdev"]¿alguien puede detectar el problema?