2016-09-21 10 views
1

Diese Frage wurde schon mal beantwortet, aber ich habe keine Lösung für mein Problem gefunden. Ich habe einige statische Dateien, die ich mit Pythons-Modul bereitstellen möchte. Ich habe das Image erfolgreich erstellt und ausgeführt, kann jedoch nicht über den Browser auf die Dateien zugreifen. Hier ist meine DockerFile:Zugriff auf Docker SimpleHTTPServer Container

FROM python:2.7 

WORKDIR /test/ 
EXPOSE 8080 

CMD python -m SimpleHTTPServer 8080 

ich die folgenden Befehle verwenden:

docker build -t gwidgets/client-python-server . 
docker run --rm -ti -p 8080:8080 -v /gwt-polymer-starter/:/test/ --name client2 gwidgets/client-python-server 

Das Bild läuft gut, aber wenn ich zu http://{container'sIP}:8080/Test.html gehe, passiert nichts. Der Server erhält die Anfrage nicht einmal.

Ich bin mit Docker auf Windows 10.

Irgendwelche Ideen, was das Problem sein könnte?

+3

Docker für Windows oder Docker Machine? Wenn es Docker Machine ist, müssen Sie die IP-Adresse der VM suchen, die von Docker Machine erstellt wurde (finden Sie es mit 'docker-machine ip'). Ihre Dockerfile funktioniert wie erwartet unter Linux, daher sieht es wie ein Host-/Netzwerkproblem aus. –

+0

Danke für das Hinweis auf Docker Maschine. Nachdem ich docker-machine ls ausgeführt habe, habe ich die VM-IP ausgewählt und verwendet, und es funktioniert jetzt gut. –

Antwort

1

Die Option -p veröffentlicht die Ports des Containers zum Host. Möglicherweise müssen Sie http://localhost:8080/Test.html verwenden, wenn Sie den Container mit der angegebenen -p 8080:8080 ausführen.

+0

Nicht wirklich. Es löst das Problem nicht. –

Verwandte Themen