我无法从locahost访问Django的欢迎页面。
我已经尝试了许多答案,但似乎没有任何效果。我已完成以下操作:
将我的端口从8000
更改为9000
和exposed
。我来自Dockerfile,CMD
。
在docker-compose.yml
文件上暴露了几个端口,但没有任何作用。
在进行更改后多次运行docker build .
将ALLOWED_HOSTS
更改为'*'
和['*']
非常感谢您的帮助。
配置:
Docker version 19.03.1, build 74b1e89e8a
OS: Windows 10 Home
Docker Toolbox
Dockerfile:
FROM python:3.7-alpine
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
RUN apk update && apk add libpq
RUN apk add --virtual .build-deps gcc python3-dev musl-dev postgresql-dev
RUN pip install psycopg2
RUN apk del .build-deps
RUN mkdir /myapp
WORKDIR /myapp
COPY ./myapp/myapp
RUN adduser -D user
USER user
docker-compose.yml:
version: "3"
services:
db:
image: postgres
web:
build: .
command: sh -c "python manage.py collectstatic --no-input && python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:9000"
environment:
- DB_NAME=postgres
- DB_USER=postgres
- DB_PASS=postgres
- DB_HOST=db
- DB_PORT=5432
- DEBUG=${DEBUG}
- SECRET_KEY=${SECRET_KEY}
volumes:
- ./myapp:/myapp
ports:
- "9000:9000"
depends_on:
- db
答案 0 :(得分:0)
您的dockerfile似乎缺少EXPOSE
命令。最后将其添加到您的 dockerfile
EXPOSE 9000
答案 1 :(得分:0)
确保主机上的端口9000
可用。
答案 2 :(得分:0)
如果您在Windows 10 Home和/或使用Docker Toolkit上运行,请打开Kitematic并单击Web预览。这就是对我有用的。