无法访问正在运行的django服务器?
我已经为django rest项目创建了一个docker映像,其中包含以下无法访问正在运行的django服务器?,django,docker,docker-compose,Django,Docker,Docker Compose,我已经为django rest项目创建了一个docker映像,其中包含以下Dockerfile和docker compose文件 Dockerfile FROM python:3 # Set environment variables ENV PYTHONUNBUFFERED 1 COPY requirements.txt / # Install dependencies. RUN pip install -r /requirements.txt # Set work directory
Dockerfile
和docker compose
文件
Dockerfile
FROM python:3
# Set environment variables
ENV PYTHONUNBUFFERED 1
COPY requirements.txt /
# Install dependencies.
RUN pip install -r /requirements.txt
# Set work directory.
RUN mkdir /app
WORKDIR /app
# Copy project code.
COPY . /app/
EXPOSE 8000
docker compose
文件
version: "3"
services:
dj:
container_name: dj
build: django
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./django:/app
ports:
- "8000:8000"
而docker compose up
命令会像这样打开服务器
但在web浏览器中,我无法访问服务器,浏览器显示ERR\u ADDRESS\u INVALID
Docker版本18.09.2
0.0.0.0是“无处不在”的IPv4;您通常无法与它建立出站连接。如果您有Docker桌面应用程序,请尝试;如果是Docker Toolbox,通常需要Docker机器的ip地址
多亏了David Maze,问题才得以解决。您使用的URL是什么?你有什么错误?你有什么版本/风格的Docker?我用它作为url
http://0.0.0.0:8000
浏览器说网站无法访问0.0.0.0是“无处不在”的IPv4;您通常无法与它建立出站连接。如果您有Docker桌面应用程序,请尝试http://localhost:8000
;如果是Docker Toolbox,则需要Docker机器ip
地址,通常是http://192.168.99.100:8000
@DavidMaze明白了,http://localhost:8000
url工作正常!thanx,但问题是在docker compose
文件定义的0.0.0:8000
中,有一次我试图127.0.0.1
它说权限被拒绝。为什么会这样?每个容器都有自己的localhost
概念。如果将容器中的进程设置为仅侦听容器的本地主机
,它将不接受来自容器外部的任何通信。但是,我仍在使用“我得到错误连接重置”。我能做些什么呢。