Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

276
Vistas
ADVERTENCIA: Ejecutar pip como usuario 'root'

Estoy creando una imagen simple de mi aplicación python Django en Docker. Pero al final del contenedor de construcción, arroja la siguiente advertencia (lo estoy construyendo en Ubuntu 20.04):

 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead

¿Por qué arroja esta advertencia si estoy instalando los requisitos de Python dentro de mi imagen? Estoy construyendo mi imagen usando:

 sudo docker build -t my_app:1 .

¿Debería preocuparme por advertir que se lanza un pip, porque sé que puede romper mi sistema?

Aquí está mi Dockerfile:

 FROM python:3.8-slim-buster WORKDIR /app COPY requirements.txt requirements.txt RUN pip install -r requirements.txt COPY . . CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

La forma en que se construye su contenedor no agrega un usuario, por lo que todo se hace como root.

Puede crear un usuario e instalarlo en el directorio de inicio de ese usuario haciendo algo como esto;

 FROM python:3.8.3-alpine RUN pip install --upgrade pip RUN adduser -D myuser USER myuser WORKDIR /home/myuser COPY --chown=myuser:myuser requirements.txt requirements.txt RUN pip install --user -r requirements.txt ENV PATH="/home/myuser/.local/bin:${PATH}" COPY --chown=myuser:myuser . . CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
over 4 years ago · Santiago Trujillo Denunciar

0

Puede ignorar esta advertencia ya que crea la imagen para un propósito aislado y, por lo tanto, está tan aislada como un entorno virtual desde el punto de vista organizativo. No técnicamente, pero eso no importa aquí.

Por lo general, no debería valer la pena invertir el tiempo y crear un entorno virtual en una imagen o agregar un usuario como en la otra respuesta, solo para evitar la advertencia, ya que no debería tener ningún problema con esto.

Simplemente verifique pip -V y pip3 -V para saber si necesita prestar atención para no usar pip por error para Python 2 cuando quiere pip para Python 3. Pero eso debería ser todo, y si instala solo pip para python 3, usted no tendra ese problema de todos modos.

over 4 years ago · Santiago Trujillo Denunciar

0

No me gusta ignorar las advertencias, ya que un día supervisarás una importante.

Aquí hay una buena explicación sobre las mejores prácticas de docker con python . Busque Example with virtualenv y encontrará esto:

 # temp stage FROM python:3.9-slim as builder WORKDIR /app ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 RUN apt-get update && \ apt-get install -y --no-install-recommends gcc RUN python -m venv /opt/venv ENV PATH="/opt/venv/bin:$PATH" COPY requirements.txt . RUN pip install -r requirements.txt # final stage FROM python:3.9-slim COPY --from=builder /opt/venv /opt/venv WORKDIR /app ENV PATH="/opt/venv/bin:$PATH"

Funciona como el encanto. Sin advertencias o similares. Por cierto, también recomiendan crear un usuario no root por razones de seguridad.

EDITAR: para deshacerse de todas las advertencias, es posible que también desee agregar las siguientes entradas a la parte del constructor de su Dockerfile (se aplica a Debian 8.3.x ):

 ARG DEBIAN_FRONTEND=noninteractive ARG DEBCONF_NOWARNINGS="yes" RUN python -m pip install --upgrade pip && \ ...
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda