Python 无法通过Docker Compose访问Django项目
我已经为DJango项目创建了一个简单的Docker文件,当我发布Docker run时,我可以通过浏览器进行访问 docker运行-p 8000:8000 S3桶ms:1 这是Docker文件:Python 无法通过Docker Compose访问Django项目,python,django,docker,docker-compose,Python,Django,Docker,Docker Compose,我已经为DJango项目创建了一个简单的Docker文件,当我发布Docker run时,我可以通过浏览器进行访问 docker运行-p 8000:8000 S3桶ms:1 这是Docker文件: FROM python:3.6.7-alpine ENV PYTHONUNBUFFERED 1 COPY ./requirements.txt /requirements.txt RUN pip install --upgrade pip RUN apk update \ &&
FROM python:3.6.7-alpine
ENV PYTHONUNBUFFERED 1
COPY ./requirements.txt /requirements.txt
RUN pip install --upgrade pip
RUN apk update \
&& apk add postgresql-dev gcc python3-dev musl-dev
RUN pip install -r requirements.txt
RUN mkdir /app
WORKDIR /app
ADD ./s3bucket /app/
EXPOSE 8000
CMD ["python", "./manage.py", "runserver", "0.0.0.0:8000"]
但是,当我使用Docker Compose时,我无法通过浏览器访问项目
这是docker-compose.yml
version: '3'
services:
web:
build: .
command: python ./manage.py runserver 8000
ports:
- "8000:8000"
使用Docker Compose,我还对Docker文件中的CMD进行了注释。
Docker Compose UP的输出
web_1 | Run 'python manage.py migrate' to apply them.
web_1 | February 17, 2020 - 14:29:22
web_1 | Django version 3.0.3, using settings 's3bucket.settings'
web_1 | Starting development server at http://127.0.0.1:8000/
web_1 | Quit the server with CONTROL-C.
我错过什么了吗?感谢您的帮助。
谢谢,在Dockerfile上添加
公开8000
更新1:
与码头运行
docker run \
-v /path/to/s3bucket:/app \ # absolute path
-p 8000:8000 \
s3bucket-ms:1
与docker撰写
version: '3'
services:
web:
build: .
command: python ./manage.py runserver 8000
volumes:
- /path/to/s3bucket:/app # absolute path
ports:
- "8000:8000"
有关的更多信息,请参见
docker compose
中的0.0.0
而不是127.0.0.1
。确保正确重建容器。然后清除缓存运行命令docker network prune
很抱歉,您忘记在容器中共享您的项目。我认为您只需要修改用户卷。你不会在docker run或docker compose中使用它。我不会在这里跟踪你。。我刚刚在dockerfile中添加了以下行。复制./s3bucket/app/