我試圖訪問我的Windows機器上在Docker中運行的django應用程序。我正在使用碼頭機器。我一直在這個問題上花了好幾個小時。在Windows上的Docker-machine端口轉發不起作用
這裏是我的Dockerfile我Django應用程序:
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。我在端口8000上訪問該IP,但沒有得到任何迴應。
我進入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-machine在該端口上處於活動狀態。
而且當我運行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
任何幫助將不勝感激。