2016-09-21 4 views
1

Этот вопрос задан раньше, но я не нашел решения для своей проблемы. У меня есть некоторые статические файлы, которые я хочу обслуживать, используя модуль P. Я успешно создал изображение и запустил его, но я не могу получить доступ к файлам из браузера. Вот мой DockerFile:Не удается получить доступ к докеру Контейнер SimpleHTTPServer

FROM python:2.7 

WORKDIR /test/ 
EXPOSE 8080 

CMD python -m SimpleHTTPServer 8080 

Я использую следующие команды:

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 

Изображение работает нормально, но когда я иду в http://{container'sIP}:8080/Test.html, ничего не происходит. Сервер даже не получает запрос.

Я бегу докер на ОС Windows 10.

Любые идеи, что может быть проблема?

+3

Докер для Windows или докерная машина? Если это Docker Machine, вам нужно перейти к IP-адресу виртуальной машины, созданной Docker Machine (найти ее с помощью 'docker-machine ip'). Ваш Dockerfile работает как ожидается в Linux, поэтому он выглядит как проблема с хостом/сетью. –

+0

Спасибо за указание докер-машины. После запуска docker-machine ls я выбрал VM ip и использовал его, и теперь он отлично работает. –

ответ

1

Опция -p публикует порты контейнера на хост. Возможно, вам понадобится использовать http://localhost:8080/Test.html, если вы запустите контейнер с указанным -p 8080:8080.

+0

Не совсем. Это не решает проблему. –