Я пытаюсь получить доступ к моему приложению django, работающему в Docker, на моем компьютере с Windows. Я использую докер-машину. Я уже несколько часов занимаюсь этим.Docker-machine Port Forwarding на Windows не работает
Вот мой Dockerfile для моего Джанго приложения:
FROM python:3.4-slim
RUN apt-get update && apt-get install -y \
gcc \
gettext \
vim \
curl \
postgresql-client libpq-dev \
--no-install-recommends && rm -rf /var/lib/apt/lists/*
EXPOSE 8000
WORKDIR /home/
# add app files from git repo
ADD . server/
WORKDIR /home/server
RUN pip install -r requirements.txt
CMD ["python", "manage.py", "runserver", "8000"]
Так что должно быть обнажая (по крайней мере, в контейнере) порт 8000.
Когда я использую команду docker-machine ip default
Я учитывая IP 192,168 .99.101. Я перехожу на этот IP-адрес на порт 8000, но не получаю ответа.
Я пошел в VirtualBox, чтобы увидеть, будет ли переадресовывать эти порты. Вот конфигурация:
Я также попытался использовать 127.0.0.1
в качестве хоста IP. Я также попытался отключить брандмауэр Windows.
Вот моя команда для запуска контейнера:
docker run --rm -it -p 8000:8000 <imagename>
Я в недоумении о том, почему я не могу подключиться по этому порту. Когда я запускаю docker-machine ls
, он дает мне tcp://192.168.99.101:2376
, и когда я перехожу к нему, он возвращает мне какой-то файл, поэтому я знаю, что док-машина активна на этом порту.
Кроме того, когда я бегу docker ps
я получаю это:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c00cc28a2bd <image name> "python manage.py run" 7 minutes ago Up 7 minutes 0.0.0.0:8000->8000/tcp drunk_knuth
Любая помощь будет принята с благодарностью.