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

261
Views
¿Debo dockerizar la aplicación django como no root?

¿Debo dockerizar la aplicación Django como usuario root? En caso afirmativo, ¿cómo puedo configurar un usuario no root para Django? Porque en la aplicación node.js debería tener USUARIO: nodo, que es una mejor práctica.

Ejemplo de código de la página acoplable oficial que no incluye no root:

 FROM python:3 ENV PYTHONUNBUFFERED=1 WORKDIR /code COPY requirements.txt /code/ RUN pip install -r requirements.txt COPY . /code/
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Es genéricamente una buena práctica.

Al comienzo de su Dockerfile, antes de COPY algo, cree el usuario. No es necesario que tenga ninguna propiedad específica y no es necesario que coincida con ningún ID de usuario de host específico. La única razón particular para hacer esto temprano es evitar repetirlo en las reconstrucciones.

Al final de su Dockerfile, después de ejecutar todos los pasos de compilación, solo cambie USER al nuevo usuario. El código y las bibliotecas instaladas serán propiedad del usuario root; y eso es bueno, porque significa que la aplicación no puede sobrescribir accidentalmente el código de la aplicación.

 FROM python:3 # Create the non-root user. Doing this before any COPY means it won't # be repeated on rebuild, for marginal savings in space and rebuild time. # The user can have any name and any uid; it does not need to match any # particular host system where the image might run. RUN adduser --system --no-create-home someuser # Install the application as in the question (still as root). ENV PYTHONUNBUFFERED=1 WORKDIR /code COPY requirements.txt . RUN pip install -r requirements.txt COPY . . # Explain how to run the container. Only switch to the non-root user now. EXPOSE 8000 USER someuser CMD ["./main.py"]

No intente escribir archivos dentro del contenedor; en su lugar, utilice un contenedor de base de datos independiente para la persistencia. No pase un ID de usuario de host como argumento de compilación. No configure una contraseña para el usuario ni intente configurar inicios de sesión interactivos. No cree un directorio de inicio; no se usará.

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
Virtual assistant