docker compose
を使用して私のdjangoアプリケーションを実行しています。 Ngninx
およびgunicorn
は、supervisor
によって実行されます。スーパーバイザでpdbを使用する
しかし、pdb
を使用してデバッグする方法を理解できないようです。私が使用している場合:
import pdb
pdb.set_trace()
をコマンドdocker-compose up
を実行した後、私のアプリとデータベースが実行を開始し、端末画面には、さらに出力を表示するために待機しているアクティブなまま。
私のコードがpdb.set_trace()
に達すると、前述の端末はそのままで、(pdb)
インターフェイスは表示されません。
pdb
を使用してアプリケーションをデバッグする方法を知っている人はいますか?私は使用する必要がある何か他にありますか?
ありがとうございます。
更新
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
あなたはPID 1としてスーパーバイザを実行していますが、この方法は機能しません。あなたはnginxとdjnagoserverのために別々の容器を使う必要があります –
@ TarunLalwaniありがとうございます。最後に、コンテナを分離した後に動作させました。 – leon