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