django - Django Web 应用程序 Docker - 无法连接
问题描述
我是 Django 和 Docker 的新手,我在输入站点 localhost:8000 时遇到问题。我构建了 django 应用程序,它在我的本地服务器上运行,但我想对我的应用程序进行 docker 化。所以我创建了两个文件: Dockerfile :
RUN python:3.6.7-alpine
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD ./ /code/
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
和 docker-compose.yml
version: '3'
services:
web:
build: .
command: python mysite/manage.py runserver 8000
ports:
- "8000:8000"
我的下一步:
docker built --tag django_docker:latest .
和:
docker run django_docker
它是开放式服务器,但是当我想从浏览器打开 localhost:8000 时,由于“无法连接”而无法打开
我的错在哪里?
有关 django 应用程序的更多信息:它是 Python Crash Course : Learning_log 书中的项目。我想构建一个图像并将其推送到集线器 docker,但我被卡住了。感谢帮助!
解决方案
您正在使用一个docker-compose.yml
文件,因此您需要使用 docker-compose 命令来运行它:
docker-compose up
这就是您所需要的,您可以在官方文档中阅读更多相关信息。
要在不使用 docker compose 的情况下运行它,那么您的 docker 命令需要:
docker run --publish 8000:8000 django_docker
如果您想将该站点限制为仅在您的本地主机上可用,请绑定到127.0.0.1
:
docker run --publish 127.0.0.1:8000:8000 django_docker
推荐阅读
- ios - iOS 模拟器无法连接到 localhost
- apache-spark - 为什么相同的 spark 程序在 spark-shell 上运行良好但失败并以退出状态 1 结束
- python - 为什么我收到错误 TypeError:“名称”类型的参数不可迭代?
- python - 舍入差异 - float64 与 float32
- html - 如何调整和移动我的图像前端开发
- javascript - 根据对象的值更新 MongoDB 集合
- python - 初始化 numpy 数组或具有特定形状的数组
- python - 如何在 django 中更改 timezone.now 的格式?
- reactjs - 字符串通过输入表单插入提取时出现 404 错误
- reactjs - Apollo 客户端基于状态跳过查询