[英]Docker image ran for Django but cannot access dev server url
Working on containerizing my server.致力于容器化我的服务器。 I believe I successfully run build, when I run docker-compose my development server appears to run, but when I try to visit the associated dev server URL:
我相信我成功运行了构建,当我运行 docker-compose 时,我的开发服务器似乎正在运行,但是当我尝试访问关联的开发服务器 URL 时:
http://0.0.0.0:8000/
However, I get a page with the error:但是,我得到一个包含错误的页面:
This site can’t be reachedThe webpage at http://0.0.0.0:8000/ might be temporarily down or it may have moved permanently to a new web address.
These are the settings on my Dockerfile:这些是我的 Dockerfile 上的设置:
FROM python:3
ENV PYTHONUNBUFFERED 1
WORKDIR C:/Users/15512/Desktop/django-project/peerplatform
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . ./
EXPOSE 8000
CMD ["python", "./manage.py", "runserver", "0.0.0.0:8000", "--settings=signup.settings"]
This is my docker-compose.yml
file:这是我
docker-compose.yml
文件:
version: "3.8"
services:
redis:
restart: always
image: redis:latest
ports:
- "49153:6379"
pairprogramming_be:
restart: always
depends_on:
- redis
command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
env_file:
- ./signup/.env
- ./payments/.env
- ./.env
build:
context: ./
dockerfile: Dockerfile
ports:
- "8000:8001"
container_name: "pairprogramming_be"
volumes:
- "C:/Users/15512/Desktop/django-project/peerplatform://pairprogramming_be"
working_dir:
"/C:/Users/15512/Desktop/django-project/peerplatform"
This is the .env file:这是 .env 文件:
DEBUG=1
DJANGO_ALLOWED_HOSTS=0.0.0.0
FYI: the redis image runs successfully.仅供参考:redis 映像运行成功。 This is what I have tried:
这是我尝试过的:
python manage.py runserver
and eventually added 0.0.0.0:8000
python manage.py runserver
并最终添加了0.0.0.0:8000
docker inspect --format '{{ .NetworkSettings.IPAddress }} pairprogramming_be
I get a blank response/my docker container doesn't appear to have an IP Addressdocker inspect --format '{{ .NetworkSettings.IPAddress }} pairprogramming_be
我得到一个空白响应/我的 docker 容器似乎没有 IP 地址where is the 8001
port taken from? 8001
端口取自哪里? this is the internal (expected) listening port.这是内部(预期的)监听端口。 Since you set your application (inside docker) to listen on
8000
, you should map it from 8000
to anything else..由于您将应用程序(在 docker 内部)设置为侦听
8000
,因此您应该将其从8000
映射到其他任何内容..
just change compose to:只需将撰写更改为:
ports:
- "8000:8000"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.