Ich verwende meine Django-App mit docker compose
. Ngninx
und gunicorn
werden über ausgeführt.Verwenden von pdb mit Supervisor
Allerdings kann ich nicht herausfinden, wie Sie mit pdb
debuggen. Wenn ich benutze:
import pdb
pdb.set_trace()
Nach dem Ausführen des Befehls docker-compose up
, meine App und Datenbank beginnen aktiv zu laufen und der Terminal-Bildschirm bleibt wartet auf weitere Ausgabe anzuzeigen.
Wenn mein Code pdb.set_trace()
erreicht, bleibt das oben erwähnte Terminal unverändert, aber die Schnittstelle (pdb)
erscheint nicht.
Würde jemand wissen, wie ich meine Anwendung mit pdb
debuggen könnte? Gibt es noch etwas, das ich benutzen muss?
Vielen Dank.
aktualisieren
docker-compose.yml
version: '3'
services:
db:
image: mysql/mysql-server:latest
container_name: my_container_name
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: "mydb"
MYSQL_USER: "myusername"
MYSQL_PASSWORD: "mypass"
MYSQL_ROOT_PASSWORD: "mypass"
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
command: mysqld
web:
build: .
container_name: my_container_name
ports:
- "9000:9000"
depends_on:
- db
supervisord.conf
[supervisord]
nodaemon=true
[program:nginx]
command=/usr/sbin/nginx
[program:djangoserver]
command=python /myapp/djangorest/manage.py runserver localhost:8000
stdin_open: true
tty: true
Sie führen Supervisor als PID 1, dieser Ansatz wird nicht funktionieren. Sie müssen separate Container für nginx und djnagoserver verwenden –
@TarunLalwani Vielen Dank dafür. Endlich funktionierte es nach dem Trennen der Container. – leon