Skip to main content
 首页 » 编程设计

python之在本地主机上运行 docker 项目,但没有任何反应

2025年02月15日35zhenyulu

我有一个构建的 docker 镜像。我想在本地主机上运行它并在我的本地机器上查看项目。当我运行图像时,我在 docker ps 中看到它。当我去本地主机时,我什么也得不到。我不确定它是我要运行的端口还是权限,或者类似的东西......

这是我正在运行的命令:

λ 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"] 

我不得不从需求文件中删除以下内容,因为它们会导致错误:

python sqlite tk zx

请您参考如下方法:

两件事:

1) manage.py runserver 默认只会绑定(bind)到本地主机。此本地主机在容器内,而不是在您的计算机上。因此,您希望将应用程序绑定(bind)到所有接口(interface),如下所示:

python manage.py runserver 0.0.0.0 

2) manage.py runserver 默认绑定(bind)到端口 8000。所以,两个选择。第一,您可以将 manage.py runserver 绑定(bind)到端口 80,如下所示:

python manage.py runserver 0.0.0.0.0:80 

或者,您可以更改 dockerfile,将 EXPOSE 80 替换为 EXPOSE 8000,并将 docker 命令更改为 docker run -p 5050:8000 opentab