Ich habe ein Problem beim Starten eines Django-Projekts in einem Andock-Container. Mein Dockerfile sieht wie folgt aus:Ausführen von Django in docker-compose
FROM python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
EXPOSE 8000
Die requirements.txt
besteht aus der einzigen Zeile Django
die django erfolgreich zu installieren.
Mein docker-compose.yml
hat folgenden Inhalt:
version: '2'
services:
web:
build: ./web
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
volumes:
- ./web:/code
Um ein Projekt zu erstellen, ich rufe:
docker-compose run web python django-admin.py startproject web .
, die mit der folgenden Meldung abstürzt:
python: can't open file 'django-admin.py': [Errno 2] No such file or directory
Auch dieses
Abstürze mit
ERROR: Cannot start service web: oci runtime error: container_linux.go:247: starting container process caused "exec: \"django-admin.py\": executable file not found in $PATH"
Es scheint mir, dass es ein Fehler in den $PATH
, wenn die Behälter wie diese ausgeführt wird. Wenn ich den interaktiven Modus -it
verwende, kann ich die django-admin
von diesem Ordner aufrufen. Ist die PATH
nicht richtig eingestellt oder mache ich hier etwas anderes falsch? Die Dockerfile
befindet sich im Verzeichnis web
.
Edit: Nach dem Vorschlag im Kommentar, ich versuchte, die django-admin
mit dem vollständigen Pfad zu laufen:
[email protected]:/code# which django-admin
/usr/local/bin/django-admin
Noch keine Änderung:
docker-compose run web /usr/local/bin/django-admin startproject web .
ERROR: Cannot start service web: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/usr/local/bin/django-admin\": stat /usr/local/bin/django-admin: no such file or directory"
Warum versuchen Sie nicht, den vollständigen Pfad zu 'django-admin' zu verwenden? –
Danke für den Vorschlag. Immer noch kein Erfolg. Aber wieder das gleiche Verhalten, wenn ich mich auf den Container anmelde, funktioniert es ... – Freddy
Versuchen Sie "django-admin" oder "django-admin.py" auszuführen? – NZD