I Docker mit Docker Compose bin mit und das sind meine Dateien:New package.json Pakete nicht in Docker Behälter zeigt
#DOCKERFILE
FROM mhart/alpine-node
# Create app directory
RUN mkdir -p /home/app
# Bundle app soure
COPY . /home/app
# From now on we work in /home/app
WORKDIR /home/app
# Install yarn and node modules
RUN echo -e 'http://dl-cdn.alpinelinux.org/alpine/edge/main\nhttp://dl-
cdn.alpinelinux.org/alpine/edge/community\nhttp://dl-
cdn.alpinelinux.org/alpine/edge/testing' > /etc/apk/repositories \
&& apk add --no-cache yarn \
&& yarn
EXPOSE 8080
Dies ist die Docker-compose Datei für Entwickler:
app:
build: .
command: yarn start:dev
environment:
NODE_ENV: development
ports:
- '8080:8080'
volumes:
- .:/home/app
- /home/app/node_modules
Das Problem, das ich habe, ist, dass dieses Setup scheint nur einmal zu funktionieren, egal welches neue Modul ich hinzufügen, package.json
, wenn ich docker-compose build
ausführen wird es nicht das neue Paket installieren.
Der Grund, warum ich die Volumes verwende ist, weil knotemon ohne .:/home/app
nicht funktionieren würde, aber wenn die Knotenmodule nicht im Host installiert sind, dann wird es fehlschlagen, Grund warum ich /home/app/node_modules
brauche. Ich vermute, dass dies der Grund für meinen Fehler sein könnte, aber ich bin nicht sicher, wie ich das umgehen kann.
Hinweis Ich verwende "Garn" zum Installieren. Wie auch immer, das Ändern der Reihenfolge der Befehle wie in Ihrer Antwort hat leider nicht geholfen. – feychou