Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/01/2019, à 23:03

moths-art

[Résolu] Docker : rediriger le port vers le host

Hello,

J'ai créé une petite app web que je veux lancer sur docker.

Mon build se passe bien et je lance :

docker run -t -p 1111 ubuntu

Ca lance bien mon container et je vois le démarrage du serveur.
Cependant, je n'arrive pas à accéder via mon hôte. (avec un simple navigateur web)

Je précise que dans mon Dockerfile, j'ai bien préciser le port :
EXPOSE 1111

J'avais déjà effectué l'opération sans soucis avec le même poste il y a quelques mois et n'arrive pas à savoir ce qui cloche et pense avoir épuisé mes recherches.

Des pistes ?

Dernière modification par moths-art (Le 22/01/2019, à 00:14)

Hors ligne

#2 Le 21/01/2019, à 23:12

krodelabestiole

Re : [Résolu] Docker : rediriger le port vers le host

moths-art a écrit :
docker run -t -p 1111 ubuntu

ça pourrait être un raccourci, mais j'ai jamais testé.

en tout cas ce qui est documenté pour lier un port à l'hôte c'est par ex. :

docker run -t -p 1111:1111 ubuntu

à gauche des ":" tu mets le port auquel tu veux accéder depuis l'hôte, et à droite le port sur lequel un service écoute dans ton container.
(c'est un peu de translation de port, ça peut être pratique)

l'intérêt de expose c'est plutôt pour la communication d'un container à l'autre, pas en rapport avec l'hôte.

Dernière modification par krodelabestiole (Le 21/01/2019, à 23:13)

Hors ligne

#3 Le 21/01/2019, à 23:20

moths-art

Re : [Résolu] Docker : rediriger le port vers le host

Merci krodelabestiole  de ta réponse rapide.

J'ai en effet testé ceci

docker run -t -p 1111:1111 ubuntu

Sans succès.
Merci de la précision sur EXPOSE. (j'étais pas sur d'avoir compris la nuance)

Mon docker ps (si ça peut aider) :

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
19eac4498be7        ubuntu      "/bin/sh -c 'python3 "   20 seconds ago      Up 19 seconds       0.0.0.0:1111->1111/tcp   romantic_colden

Dernière modification par moths-art (Le 21/01/2019, à 23:25)

Hors ligne

#4 Le 21/01/2019, à 23:31

krodelabestiole

Re : [Résolu] Docker : rediriger le port vers le host

à mon avis le problème est dans ton container. tu peux y ouvrir un shell avec

sudo docker exec -ti 19e /bin/bash

(19e c'est le début de l'id de ton container)
de là tu pourras éventuellement investiguer, faire des tests avec netstat ou autre en fonction de ce que tu as mis en place là dedans.

Hors ligne

#5 Le 21/01/2019, à 23:38

moths-art

Re : [Résolu] Docker : rediriger le port vers le host

Alors, oui : je peux ouvrir un shell sans soucis.

Fait complètement étrange : Je lance le mini serveur en python en local sur le même port et il me dit que le port est occupé. (par le container docker : c'est sur car quand je le clos, le serveur se lance)
Néanmoins, aucune réponse avec 127.0.0.1:1111 dans un navigateur. (ou curl)

Dernière modification par moths-art (Le 21/01/2019, à 23:39)

Hors ligne

#6 Le 21/01/2019, à 23:57

krodelabestiole

Re : [Résolu] Docker : rediriger le port vers le host

à mon avis si tu testes le même curl depuis ton container (grâce à la méthode que je t'ai indiquée), tu auras la même absence de réponse.

et tu pourras en conclure que ton problème n'est pas lié à une ouverture de port par docker mais à ton image elle même. je pense que ton service ne fonctionne pas correctement, mais sans dockerfile on peut pas t'en dire plus. et même avec, si tu as dev ta propre appli en python ça va pas être simple...

Hors ligne

#7 Le 22/01/2019, à 00:13

moths-art

Re : [Résolu] Docker : rediriger le port vers le host

Ahhh, bien vu. Soucis d'encodage (j'ai pas encore cherché plus loin) qui fait que ça se comporte pas pareil en local et dans le container. Ce qui est fourbe, c'est qu'en local, j'aurais la trace complète alors que dans le container, le serveur freeze complètement.

Merci.

Hors ligne