Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

416
Views
Permiso denegado: Falta el acceso de escritura a /app - error de docker
FROM node:14.16.0-alpine3.13 RUN addgroup app && adduser -S -G app app USER app WORKDIR /app ENV PATH /app/node_modules/.bin:$PATH COPY package*.json ./ RUN npm install COPY . . ENV APP_URL=http://api.myapp.com EXPOSE 3000 CMD ["npm", "start"]

Este es mi archivo docker. Estoy tratando de dockerizar una aplicación de reacción de muestra. Agregué un usuario en el grupo y luego usé ese usuario para más comandos, como puede ver en la segunda línea de este código. Creo que, de forma predeterminada, solo el usuario raíz tiene acceso para escribir en estos archivos y, para realizar cambios en estos archivos, el usuario raíz no debe ser usuario. Por lo tanto, creé el usuario de la app aquí.

Pero después de ejecutar docker build -t react-app. . Estoy teniendo el siguiente error -

ingrese la descripción de la imagen aquí

¿Qué estoy haciendo mal aquí? ¿Alguna sugerencia?

Después de agregar Run ls -la y Run whoami - ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Está viendo este error porque el directorio /app pertenece al usuario raíz. La app usuario que creó no tiene permiso de escritura en este directorio. La app de usuario necesita permiso de escritura para instalar paquetes de nodos (cree el directorio node_modules y el archivo package-lock.json ).

Como sugirió @DavidMaze en los comentarios , sería fácil hacer la instalación del paquete como usuario root y cambiar a la USER app en el último pero antes del tiempo de ejecución CMD ["npm", "start"] .

Pero aún así, el usuario de la app necesitaría permiso de escritura en el directorio node_modules/.cache al ejecutar la aplicación con el comando de npm start . Por lo tanto, debemos proporcionar el permiso de escritura a la app de usuario para este directorio.

Aquí hay un ejemplo que hace todo lo mencionado anteriormente:

 FROM node:14.16.0-alpine3.13 WORKDIR /app ENV PATH /app/node_modules/.bin:$PATH COPY package*.json ./ RUN npm install COPY . . ENV APP_URL=http://api.myapp.com EXPOSE 3000 RUN addgroup app && adduser -S -G app app RUN mkdir node_modules/.cache RUN chown app:app node_modules/.cache USER app CMD ["npm", "start"]

Además, tenga en cuenta que está ejecutando la aplicación React en modo de desarrollo usando npm start , es posible que desee usar un servidor estático para servir, después de crear una compilación.

over 4 years ago · Santiago Trujillo Report

0

cuando crea un usuario con el nombre "aplicación", se crea un nuevo directorio para este usuario en el directorio de inicio "/home/app", por lo que el directorio de trabajo debería ser así:

 WORKDIR /home/app
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!