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

1.2K
Views
PermissionError: [Errno 13] Permiso denegado: '/manage.py'

Estoy tratando de ejecutar el siguiente comando en docker-composer para iniciar el proyecto con django-admin :

 docker-compose run app sh -c "django-admin startproject app ."

Esto produce el error:

 Traceback (most recent call last): File "/usr/local/bin/django-admin", line 10, in <module> sys.exit(execute_from_command_line()) File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line utility.execute() File "/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 323, in run_from_argv self.execute(*args, **cmd_options) File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 364, in execute output = self.handle(*args, **options) File "/usr/local/lib/python3.7/site-packages/django/core/management/commands/startproject.py", line 20, in handle super().handle('project', project_name, target, **options) File "/usr/local/lib/python3.7/site-packages/django/core/management/templates.py", line 155, in handle with open(new_path, 'w', encoding='utf-8') as new_file: PermissionError: [Errno 13] Permission denied: '/manage.py'

El Dockerfile es el siguiente:

 FROM python:3.7-alpine MAINTAINER anubrij chandra ENV PYTHONUNBUFFERED 1 COPY ./requirements.txt /requirements.txt RUN pip install -r /requirements.txt RUN mkdir /app COPY ./app /app RUN adduser -D dockuser USER dockuser

Mi docker-compose.yml :

 version: "3" services: app: build: context: . ports: - "8000:8000" volumes: - ./app:/app command: > sh -c "python manage.py runserver 0.0.0.0:8000"

Apliqué la solución sugerida en este hilo de Stack Overflow , pero no funcionó.

Estoy usando Ubuntu 18.04.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Ubuntu 21.04

Llegué aquí buscando PermissionError: [Errno 13] Permission denied: así que dejaré esto aquí.

nota: la respuesta a continuación no funciona para sistemas multiusuario ... vea esta respuesta en su lugar para otra posible solución


Si desea configurarlo y olvidarlo para 1 usuario, su propio usuario... esto es lo que tengo en mi máquina de desarrollo.

No tenía el zócalo de Unix, así que lo escogí. (esto hizo que funcionara de inmediato)

 sudo chown $(whoami):$(whoami) /var/run/docker.sock

Otra solución más permanente para su entorno de desarrollo es modificar la propiedad del usuario de la creación del socket de Unix. Esto le dará a su usuario la propiedad, por lo que se mantendrá entre reinicios:

 sudo nano /etc/systemd/system/sockets.target.wants/docker.socket

docker.socket:

 [Unit] Description=Docker Socket for the API [Socket] ListenStream=/var/run/docker.sock SocketMode=0660 SocketUser=YOUR_USERNAME_HERE SocketGroup=docker [Install] WantedBy=sockets.target

De nuevo, otra solución menos hacky: https://stackoverflow.com/a/70124863/2026508

over 4 years ago · Santiago Trujillo Report

0

En su dockerfile , está apuntando a un nuevo usuario dockuser .

 RUN adduser -D dockuser USER dockuser

Por lo tanto, su contenedor comenzará con el usuario dockuser que no parece tener los permisos adecuados para ejecutar /manage.py .

Tu también puedes

  • elimine las líneas mencionadas anteriormente donde crea y apunta a dockuser .

O

  • proporcione el permiso apropiado al usuario dockuser usando los comandos chown y chmod en su dockerfile para el archivo /manage.py.

He respondido una pregunta similar aquí .

over 4 years ago · Santiago Trujillo Report

0

Tuve el mismo problema y lo resolví agregando mi usuario al grupo docker :

 $ sudo usermod -aG docker $(whoami)
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!