我有一个构建的docker镜像。我想在localhost上运行它,并在我的本地计算机上查看该项目。当我运行图像时,我在docker ps中看到它。当我去localhost时,我什么都没得到。我不确定它是否是我试图运行的端口或权限,或类似的东西......
这是我正在运行的命令:
λ docker run -p 5050:80 opentab
这是在图像构建之后:
Successfully built 7e995fbdf2ea
Successfully tagged opentab:latest
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
这是docker文件:
FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt ./
EXPOSE 80
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "manage.py", "runserver"]
我不得不从需求文件中删除以下内容,因为它们导致了错误:
蟒 源码 TK ZX
答案 0 :(得分:1)
两件事:
1)println
仅默认绑定到localhost。此本地主机位于容器内,而不是计算机上。因此,您希望将应用程序绑定到所有接口,如下所示:
manage.py runserver
2)python manage.py runserver 0.0.0.0
默认绑定到端口8000。所以,有两种选择。一,你可以将manage.py runserver绑定到端口80,如下所示:
manage.py runserver
或者,您将更改dockerfile,将python manage.py runserver 0.0.0.0.0:80
替换为EXPOSE 80
,并将docker命令更改为EXPOSE 8000