Ich baue ein Docker Bild Docker für meinen Node.js Anwendung folgenden mit Dockerfile
:Fehlende `node_modules` in Docker Container
FROM keymetrics/pm2:latest
RUN apk add --no-cache --update alpine-sdk python
# Bundle APP files
COPY package.json .
# Install app dependencies
ENV NPM_CONFIG_LOGLEVEL warn
RUN npm install
RUN npm rebuild bcrypt --build-from-source
COPY . .
# Show current folder structure in logs
RUN ls -al
EXPOSE 3000
VOLUME /app/uploads
CMD [ "pm2-docker", "start", "pm2.json" ]
Das Problem ist, dass die node_modules
Ordner in Docker-Container nicht vorhanden ist erstellt von diesem Bild wird die Anwendung daher auf einen Fehler stoßen, der nicht ausgeführt wird.
Ich habe node_modules
in meiner .dockerignore
Datei, aber da ich die notwendigen Pakete im Build-Prozess installieren (RUN npm install
), sollte dies kein Problem verursachen.
Vielleicht ist das Problem mit 'COPY. . 'das überschreibt alles' npm install' ist installiert? Ersetzen Sie "COPY package.json." Durch "COPY". .', da Ihre 'package.json' ebenfalls mit diesem Befehl kopiert werden soll. – vfsoraki
@vfsoraki das ist nicht der Fall. Ich habe versucht, den COPY zu kommentieren. .' Ausschnitt aus, aber 'node_modules' fehlt noch. –
machen Sie in einem Lauf die npm, etwas wie 'RUN npm installieren && npm bcrypt --build-from-source 'neu erstellen – user2915097