python docker pdb docker-compose

python - Docker-componer y pdb



docker-compose (2)

Veo que no soy el primero en hacer la pregunta, pero no hubo una respuesta clara a esto:

¿Cómo usar pdb con docker-composer en el desarrollo de Python?

Cuando le pregunta al tío Google acerca de django docker , obtiene increíbles ejemplos y tutoriales de docker-composer y tengo un entorno que funciona. Puedo ejecutar docker-compose up y tengo un entorno de desarrolladores ordenado, pero el PDB no funciona (lo cual es muy triste) .

Puedo establecerme ejecutando docker-compose run my-awesome-app python app.py 0.0.0.0:8000 pero luego puedo acceder a mi aplicación a través de http://127.0.0.1:8000 desde el host (puedo con docker-compose up ) y parece que cada vez que uso run , se dir_app_13 nuevos contenedores como: dir_app_13 y dir_db_4 que no deseo en absoluto.

La gente de bien me ayudará, por favor.

PD
Estoy usando pdb ++ para ese ejemplo y un docker-compose.yml básico de este ejemplo de django . También experimenté pero nada parece ayudarme. Y estoy usando docker-composer 1.3.0rc3 ya que tiene soporte para apuntar Dockerfile.


Intente ejecutar su contenedor web con la opción --service-ports: docker-compose run --service-ports web


Utilice los siguientes pasos para adjuntar pdb en cualquier secuencia de comandos de Python.

Paso 1. Agrega lo siguiente en tu archivo yml

stdin_open: true tty: true

Esto habilitará el modo interactivo y adjuntará stdin. Esto es equivalente para el modo -it.

Paso 2.

docker attach <generated_containerid>

Ahora obtendrás la shell pdb