gpt4 book ai didi

django - 看不到正在本地主机上的 docker 容器中运行的 django 站点

转载 作者:行者123 更新时间:2023-12-02 18:41:54 24 4
gpt4 key购买 nike

我有一个 Django 应用程序,我需要将其部署到 Amazon 的 EC2 容器服务上。与此同时,为了测试部署,我尝试先将其部署在本地的 docker 容器中,但即使运行一个简单的演示 django 应用程序,我也无法在 localhost:8000 看到该页面。

这是我的设置。

创建一个 docker 机器:

$ docker-machine create --driver virtualbox testmachine

在此之后我设置了我的环境:

$ eval "$(docker-machine env testmachine)"

我为我的测试容器设置了一个 Dockerfile:

FROM ubuntu

RUN echo "deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -sc) main universe" >> /etc/apt/sources.list

RUN apt-get update

RUN apt-get install python-pip -y

RUN pip install django

RUN mkdir django_test

RUN cd django_test && \
django-admin.py startproject django_test .

然后我打电话

$ docker build -t dockertest .
... builds successfully
$ docker run -d -i -t -p 8000:8000 dockertest
cbef144ac068eb61b0c3e032448cc207c8f0384a9a67a710df6d9beb26d2ab32
$ docker attach cbef144ac068eb61b0c3e032448cc207c8f0384a9a67a710df6d9beb26d2ab32

root@cbef144ac068:/# cd django_test
root@cbef144ac068::/django_test# python manage.py runserver 0.0.0.0:8000

这会在容器的 0.0.0.0:8000/成功启动服务器。

但是,当我尝试在浏览器中访问 localhost:8000 时,我收到“此网页不可用”的提示。我错过了什么?

最佳答案

原来我看错了 IP。

为了找出正确的 IP,我运行了:

$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
testmachine * virtualbox Running tcp://192.168.99.100:2376

然后我在我的浏览器中加载了 192.168.99.100:8000,它非常有效。

关于django - 看不到正在本地主机上的 docker 容器中运行的 django 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com