/ / L'exécution d'un conteneur Docker avec l'indicateur -p ou -P provoque son échec - applications Web, menu fixe, port

L'exécution d'un conteneur Docker avec l'indicateur -p ou -P entraîne son échec - applications Web, menu fixe, port

J'ai récemment commencé à déplacer mon application de blog simpledans un conteneur de docker. J'ai créé mon propre fichier docker et construit l'image avec succès. Il exécute l'application Web sans problème. Toutefois, si j'ajoute les indicateurs -P ou -p 8080: 8080 à la commande d'exécution, il échoue avec l'erreur suivante:

mathew@mathew-laptop:goblog:-> docker run -it -P chasinglogic/test
FATA[0002] Error response from daemon: Cannot start container 0042e27ea10942b4b394b7179d8dc43e3996e28c773d400672fd2333833659ad:  (exit status 1)

J'ai configuré CMD pour exécuter automatiquement mon exécutableet j'ai EXPOSE 8080 dans mon fichier Docker. Au départ, je pensais que cela devait être un problème avec mon application Web qui n’aimait pas la redirection de port de Docker ou avec mon fichier Docker; j’ai donc consulté les didacticiels de Docker.

mathew@mathew-laptop:goblog:-> sudo docker run -d -P training/webapp python app.py
[sudo] password for mathew:
Unable to find image "training/webapp:latest" locally
Pulling repository training/webapp
31fa814ba25a: Download complete
511136ea3c5a: Download complete
f10ebce2c0e1: Download complete
82cdea7ab5b5: Download complete
5dbd9cb5a02f: Download complete
74fe38d11401: Download complete
64523f641a05: Download complete
0e2afc9aad6e: Download complete
e8fc7643ceb1: Download complete
733b0e3dbcee: Download complete
a1feb043c441: Download complete
e12923494f6a: Download complete
a15f98c46748: Download complete
Status: Downloaded newer image for training/webapp:latest
fac4cd8b43b984b14cbcc0567fe3b22801574e8a07069b401328afa9e20f3c97
FATA[0111] Error response from daemon: Cannot start container fac4cd8b43b984b14cbcc0567fe3b22801574e8a07069b401328afa9e20f3c97:  (exit status 1)

Dès que je supprime les options -p ou -P, les images sont affichées.courir bien. J'ai désactivé mon pare-feu pour l'éliminer en tant que source possible. Je ne trouve aucune documentation qui me dise ce que signifient les codes d'erreur FATA, alors avant de décider de commencer à fouiller dans le code source de Docker (OH GOD PLEASE NO), je trouvais cette information pour laquelle j'espérais que quelqu'un y répondrait mieux. Je peux fournir toute information supplémentaire sur demande.

Réponse trouvée:

Au lieu du port dans dockerfile, que faire si vous faites ceci: docker run -p 127.0.0.1:$HOSTPORT:$CONTAINERPORT --name CONTAINER -t une image - purpletech

Merci purpletech. En guise de remarque, je n'ai pas du tout changé le fichier Docker, il a simplement exécuté la commande telle qu'elle est présentée.

Réponses:

1 pour la réponse № 1

content que cela a fonctionné. Je soupçonnais qu'une autorisation posait un problème de liaison à un hôte non local, je vous ai donc conseillé de vous connecter explicitement à localhost.

Si vous faites cela au lieu du port dans dockerfile: docker run -p 127.0.0.1.1$HOSTPORT:$CONTAINERPORT --name CONTAINER -t une image