当前位置: 首页 > 知识库问答 >
问题:

Docker-无法访问Django服务器

艾焕
2023-03-14

我无法通过集装箱中的港口连接到django。我使用的地址是:0.0.0.0.:8000,请参阅:http://joxi.ru/Dr8MeGLhkBWnLm.我正在用一个命令创建一个图像和一个容器:“docker compose up-d”。

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
4fea50856eef        docker_web          "python manage.py ru…"   13 seconds ago      Up 11 seconds       0.0.0.0:8000->8000/tcp   docker_web_1

docker-compose.yaml

    version: '3'

    services:
      web:
        build:
          context: .
          dockerfile: /django.testsite/Dockerfile
        ports:
          - "8000:8000"

Dockerfile

    FROM python:3

    RUN easy_install pip
    RUN pip install django==1.9.12
    RUN pip install requests

    ADD . /.
    WORKDIR /django.testsite

    CMD ["python", "manage.py", "runserver", "8000"]

如何解决此问题?

共有1个答案

晁文斌
2023-03-14

您的问题:

CMD ["python", "manage.py", "runserver", "8000"]

为了使其工作,您需要将其更改为:

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

最后,转到http://127.0.0.1:8000/在浏览器中。

为什么?好吧,Python认为你是在<code>127.0.0.1</code>上公开它,而实际上你想要eth0地址,因为它可以改变,我们不想硬编码,我们使用<code>0.0.0.0</code<,这意味着“所有”接口。

请记住docker127.0.0.1不是您的主机127.0.0.1,每个docker容器都有自己的环回(表示127.0.0.1)。

另外:如果你不想写出0.0.0.0,你可以简单地写0 - 做同样的事情。

 类似资料:
  • 我是一个码头工人,我在前几天阅读了如何使用它的官方教程。我决定将我非常简单的spring-boot应用程序作为服务部署到集群中,但我无法从外部访问它。顺便说一下,当我用docker run启动docker时,容器是可以访问的。 所以我的春靴tomcat正在收听8081。 Dockerfile: docker-compose.yml: 我部署了两个服务,一个可视化程序和一个Spring引导应用程序。

  • 我已经安装了Jenkins和Sonarqube5.1.1(也尝试了LTS),它运行在Ubuntu服务器上,可以从外部访问。我已经安装了Jenkins SonarQube插件,一切都差不多工作了。如果我在Jenkins中将SonarQube服务器URL设置为localhost,那么一切都很好。但是到SonarQube(在Jenkins内部)的链接将指向localhost,当我从外部访问Jenkins

  • 问题内容: 我有Jenkins作业的阶段,可以使用docker测试和部署我的nodejs,我在端口3000上运行docker,但是当我尝试浏览我的docker时,它不起作用,并且我的docker没有运行 这是我的Jenkinsfile Dockerfile: 我在ubuntu服务器上通过docker- compose运行Jenkins,是我丢失还是出错了?因为我的目标是使用Jenkins来测试我的

  • 停止服务器后日志文件的其余部分如下: 以下是我在sonar.properties文件中编写的一些属性: sonar.web.host=172.31.254.181 sonar.web.context=/sonar sonar.web.port=9000 sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:m

  • 我是docker的新手,正在尝试容器化一个简单的Spring Boot应用程序。docker文件如下所示。 谢谢!!

  • 我无法从外部访问我的服务。首先,这里是我的conf yaml文件: nginx-pod.yaml nginx-service.yaml metallb-config.yaml 然后我创建了集群。命令 打印: 一切正常,而且< code > ku bectl describe service/nginx-service 打印: curl命令在主服务器打印。接下来我试图从另一个网络打开,它不起作用,但