首页 > 解决方案 > 在 docker 容器中运行 django 开发服务器

问题描述

所以我试图在容器上运行 Django 开发服务器,但我无法通过浏览器访问它。我有 2 个容器使用相同的 docker 网络,一个带有 postgress,另一个是 Django。我设法 ping 两个容器并成功将其中 2 个连接在一起并运行./manage.py runserver正常,但无法curl或在浏览器中打开它

这是我的 Django 泊坞窗文件

FROM alpine:latest

COPY ./requirements.txt .
ADD ./parking/ /parking
RUN apk add --no-cache --virtual .build-deps python3-dev gcc py3-pip postgresql-dev py3-virtualenv musl-dev libc-dev linux-headers 


RUN virtualenv /.env 
RUN /.env/bin/pip install -r /requirements.txt
WORKDIR /parking
EXPOSE 8000 5432

我从 docker hub 拉出来的 postgres 容器

我用 django 运行

docker run --name=django --network=app -p 127.4.3.1:6969:8000 -it dev/django:1.0

我跑了postgres

docker run --name=some-postgres --network=app -p 127.2.2.2:6969:5432 -e POSTGRES_PASSWORD=123 -e POSTGRES_DB=parking postgres

任何帮助都会很棒。谢谢

标签: djangodockerdockerfile

解决方案


好的,所以我设法弄清楚了,我查看了@leonardo-alves-dos-santos 的答案,得出的结论是我跑步CMD "python parking/manage.py runserver 0.0.0.0:8000" 127.4.3.1:6969现在我可以使用 Django 容器端口和172.18.0.2:8000docker 网络访问我的 Django 应用程序


推荐阅读