Не удается получить доступ к приглашению pdb при подключении к док-контейнеру, который мне нужно отладить - PullRequest
0 голосов
/ 29 марта 2019

Я отлаживаю приложение dockerized python-flask, над которым работаю, добавив stdin_open: true и tty: true в конец веб-службы в docker-compose.yml. Затем я запускаю docker attach в терминале и использую полученное приглашение pdb.

Это всегда работало в прошлом. Сегодня, когда я набираю docker attach <web_container_id> в терминале, терминал остается пустым, и приглашение pdb не открывается. Кроме того, сайт зависает и не загружается. Когда я запускаю docker logs <web_container_id>, журналы показывают, что отладчик был активен. Но я не могу получить доступ к приглашению pdb. Есть идеи, что я делаю не так?

TLDR: почему я не могу взаимодействовать с приглашением pdb в терминале, когда присоединяюсь к докеру?

version: "3"

services:
 db:
   restart: always
   image: postgres:latest
   environment:
     POSTGRES_USER: fake_user
     POSTGRES_PASSWORD: fakepassword
     POSTGRES_DB: fake-db
   volumes:
     - ./container_data/postgres:/var/lib/postgresql/data
   ports:
     - "8080:8080"

 web:
   restart: always
   build:
      context: .
      dockerfile: ./dockerfiles/web/Dockerfile
   environment:
     AWS_ACCESS_KEY_ID: "${AWS_ACCESS_KEY_ID}"
     AWS_SECRET_ACCESS_KEY: "${AWS_SECRET_ACCESS_KEY}"
     AWS_DEFAULT_REGION: "${AWS_DEFAULT_REGION}"
     S3_BUCKET_NAME: "${S3_BUCKET_NAME}"
     FLASK_APP: app
     FLASK_ENV: "${FLASK_ENV:-development}"
   volumes:
     - ./FakeApp/:/usr/src/app/FakeApp/:z
   links:
     - postgres:postgres
   expose:
     - "3000"
   command: flask run --host=0.0.0.0 --port=3000 
   ports:
     - "3000:3000"
   tty: true
   stdin_open: true

Вот некоторые ресурсы, которые я уже читал в Интернете: - https://blog.lucasferreira.org/howto/2017/06/03/running-pdb-with-docker-and-gunicorn.html - Присоединение отладчика Python

...