palaber
Captain
- Registriert
- Juni 2006
- Beiträge
- 3.856
Hallo zusammen,
ich versuche mich gerade an Docker. Und arbeite etwas mit dem Dockerfile.
Testweiße möchte ich eine React-App als Docker-Image erstellen. Ich halte mich dabei an ein Tutorial (codewithmosh).
Bis hier funktioniert alles wie es sollte.
Im Tutorial wird nun einen anderer User als den Root-User verwendet.
Macht Sinn. Laut Tutorial sollte das Dockerfile dann so aussehen:
Ich bekomme dann aber beim erstellen des images mit "docker build..." beim Ausführen von "npm install" eine permission warning:
Es gibt wohl einen workaround mit --chown bei COPY, aber das klappt bei mir (noch) nicht.
1.) Hat jemand von euch eine Idee wie das geht? Vielleicht ein gutes Bsp.?
2.) Kann ich eigentlich nicht einfach den User nach den ganzen COPY Anweisungen setzten? Ob ich den build mit dem User root oder mit app oder was auch immer ausführe sollte doch egal sein, solange der Container nach dem Starten den app-User verwendet.
Bin mir aber nicht sicher, ob das wirklich ein guter Weg ist, da ich noch neu mit dem Thema bin.
Danke für eure Hilfe!
ich versuche mich gerade an Docker. Und arbeite etwas mit dem Dockerfile.
Testweiße möchte ich eine React-App als Docker-Image erstellen. Ich halte mich dabei an ein Tutorial (codewithmosh).
Bis hier funktioniert alles wie es sollte.
Bash:
FROM node:16.20-alpine3.18
WORKDIR /app
COPY package*.json .
RUN npm install
COPY . .
ENV API_URL=http://api.myapp.com
EXPOSE 3000
CMD ["npm start"]
Im Tutorial wird nun einen anderer User als den Root-User verwendet.
Macht Sinn. Laut Tutorial sollte das Dockerfile dann so aussehen:
Bash:
FROM node:16.20-alpine3.18
RUN addgroup app && adduser -S -G app app
USER app
WORKDIR /app
COPY package*.json .
RUN npm install
COPY . .
ENV API_URL=http://api.myapp.com
EXPOSE 3000
CMD ["npm start"]
Ich bekomme dann aber beim erstellen des images mit "docker build..." beim Ausführen von "npm install" eine permission warning:
Habe jetzt soweit recherchiert, dass wohl meine WORKDIR keine permission für denuser "app" hat.Error: EACCES: permission denied, open '/app/package-lock.json'
Es gibt wohl einen workaround mit --chown bei COPY, aber das klappt bei mir (noch) nicht.
1.) Hat jemand von euch eine Idee wie das geht? Vielleicht ein gutes Bsp.?
2.) Kann ich eigentlich nicht einfach den User nach den ganzen COPY Anweisungen setzten? Ob ich den build mit dem User root oder mit app oder was auch immer ausführe sollte doch egal sein, solange der Container nach dem Starten den app-User verwendet.
Bin mir aber nicht sicher, ob das wirklich ein guter Weg ist, da ich noch neu mit dem Thema bin.
Danke für eure Hilfe!