Docker-composer et pdb
Je vois que je ne suis pas le premier à poser la question, mais il n'y a pas de réponse claire à cette:
Comment utiliser apb avec docker-compositeur en Python de développement?
Lorsque vous demandez l'oncle de Google au sujet de django docker
vous obtenez génial docker-compositeur des exemples et des tutoriels et j'ai un environnement de travail - je peux courir docker-compose up
et j'ai un joli environnement de développement mais l'APB n'est pas de travail (ce qui est très triste).
Je peux régler avec l'exécution de la docker-compose run my-awesome-app python app.py 0.0.0.0:8000
mais je peux accéder à mon application sur http://127.0.0.1:8000 à partir de l'hôte (je peux avec docker-compose up
) et il semble qu'à chaque fois que j' run
de nouveaux conteneurs sont réalisés comme: dir_app_13
et dir_db_4
que je n'ai pas du tout envie.
Personnes de bonne volonté, merci de m'aider.
PS
Je suis à l'aide d'apb++, pour cet exemple, et un menu fixe-composer.yml de ce django exemple. Aussi j'ai testé mais rien ne semble pouvoir m'aider. Et je suis en utilisant le menu fixe-compositeur 1.3.0rc3 comme il l'a Dockerfile de pointage de soutien.
Vous devez vous connecter pour publier un commentaire.
Essayez de lancer votre conteneur web avec le-service-option de ports:
docker-compose run --service-ports web
docker-compose run --rm --service-ports my-awesome-app python app.py 0.0.0.0:8000
. Au Revoir, Vagabond!docker-compose up
pour cette fonctionnalité, comme l'a souligné ci-dessous.Make
instruction, mais il ne fonctionne pas, il exécute l'option correcte, mais il me montre ledocker-compose
menu.--rm
à retirer le récipient après il s'arrête et--name <name>
pour nom le récipient de sorte que vous ne recevez pas un nom généré automatiquement, comme suit:docker-compose run --rm --service-ports --name my-awesome-app my-awesome-app
et qui va exécuter le point d'entrée de commande à partir du menu fixe-composition de fichier, ou comme vous l'avez remarqué que vous pouvez spécifier votre propre commande pour exécuter votre serveur, ou vous pouvez simplement spécifierbash
comme la commande et à partir de là 🙂Utilisez les étapes suivantes pour fixer apb sur n'importe quel script python.
L'étape 1. Ajoutez la ligne suivante dans votre fichier yml
Cela permettra d'activer le mode interactif et permettra de fixer l'entrée standard. C'est l'équivalent de mode.
L'étape 2.
Vous pourrez maintenant obtenir l'apb shell
docker-compose up
, je vous remercie.docker ps
docker-compose up
. L'Important est d'avis que la déclaration serait ouvert à chaque fois dans la deuxième coquille onglet où vous avez couru ledocker attach <generated_container_id>
de commande.Jusqu'à ce que mon expérience,
docker-compose up
commande ne fournissent pas un shell interactif, mais il commence à l'impression de la sortie standard par défaut en lecture seule coquille.Ou si vous avez spécifié et cartographié répertoire de journaux,
docker-compose up
commande d'impression de rien sur le shell, mais il envoie la sortie de votre cartographié les journaux. Donc, vous devez joindre le conteneur séparément une fois qu'il est en cours d'exécution.lorsque vous ne
docker-compose up
, le faire en mode détaché par-d
et de se connecter au conteneur pardocker exec -it your_container_name bash