2017-02-02 2 views
0

J'ai créé un docker pour un exemple d'application de pyramide python. Mon dockerfile est la suivante:Mappage de port dans Docker

FROM ubuntu:16.04 

RUN apt-get update -y && \ 
    apt-get install -y python-pip python-dev curl && \ 
    pip install --upgrade pip setuptools 

WORKDIR /app 

COPY . /app 

EXPOSE 6543 

RUN pip install -e . 

ENTRYPOINT [ "pserve" ] 

CMD [ "development.ini" ] 

Ma commande build est la suivante:

docker build -t pyramid_app:latest . 

Ma commande d'exécution est la suivante:

docker run -d -p 6543:6543 pyramid_app 

Quand je tente d'accéder http://localhost:6543 je reçois une erreur

Failed to load resource: net::ERR_SOCKET_NOT_CONNECTED 

Lorsque je c url à l'intérieur de la machine, cela fonctionne bien.

Ce serait génial si quelqu'un pouvait m'aider à comprendre pourquoi ma cartographie de port ne fonctionne pas.

Merci.

Répondre

4

dans votre config pserve, changer

[server:main] 
listen = 127.0.0.1:6543 

à

[server:main] 
listen = *:6543 

sinon le serveur Web acceptera seulement les connexions du conteneur docker se

+0

merci. laisse moi essayer ça. –

+0

génial. ça a marché. J'ai fait un changement mineur. mettre l'hôte: 0.0.0.0. Mais cette réponse est définitivement correcte. Merci beaucoup –