Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Django can’;t建立与服务器的连接_Python 3.x_Django_Docker_Docker Compose - Fatal编程技术网

Python 3.x Django can’;t建立与服务器的连接

Python 3.x Django can’;t建立与服务器的连接,python-3.x,django,docker,docker-compose,Python 3.x,Django,Docker,Docker Compose,我正在使用docker启动一个使用django的项目,在我完成构建之后,我没有收到任何错误,我完成了构建,我没有收到任何错误,但仍然无法连接到服务器 我的码头工人回来了 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 385d949fdb65 yacosql_web "py

我正在使用docker启动一个使用django的项目,在我完成构建之后,我没有收到任何错误,我完成了构建,我没有收到任何错误,但仍然无法连接到服务器

我的码头工人回来了

CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS         PORTS                               NAMES
385d949fdb65   yacosql_web   "python manage.py ru…"   2 minutes ago    Up 2 minutes   0.0.0.0:8000->8000/tcp              yacosql_web_1
754707984f75   mysql:5.7     "docker-entrypoint.s…"   11 minutes ago   Up 2 minutes   0.0.0.0:3306->3306/tcp, 33060/tcp   yacosql_db_1
在docker组合中:

web_1  | Watching for file changes with StatReloader
web_1  | Performing system checks...
web_1  | 
web_1  | System check identified no issues (0 silenced).
web_1  | 
web_1  | You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
web_1  | Run 'python manage.py migrate' to apply them.
web_1  | April 25, 2021 - 02:44:17
web_1  | Django version 2.2, using settings 'yacosql.settings'
web_1  | Starting development server at http://127.0.0.1:7777/
web_1  | Quit the server with CONTROL-C.
my docker-compose.yml:

version: "3.3"
   
services:
  db:
    image: mysql:5.7
    ports:
      - '3306:3306'
    environment:
       MYSQL_DATABASE: yacosql
       MYSQL_USER: yacosql
       MYSQL_PASSWORD: yacosql
       MYSQL_ROOT_PASSWORD: yacosql
  web:
    build:
        context: .
        dockerfile: ./docker/Dockerfile
    command: python manage.py runserver 127.0.0.1:7777
    volumes:
      - .:/usr/src/app
    ports:
      - "8000:7777"
    depends_on:
      - db
requirements.txt:

Django==2.2
mysqlclient==2.0.3
django-mysql==3.9.0
docker/Dockerfile

# syntax=docker/dockerfile:1
FROM python:3.6
ENV PYTHONUNBUFFERED=1
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . /usr/src/app
说明
python manage.py运行服务器127.0.0.1:7777
在容器中使用上述命令将使Django服务器监听环回。有关更多详细信息,请阅读本文

指定Django服务器侦听
0.0.0.0:7777可以解决此问题

决议 您的
docker compose.yaml
应修改如下:

版本:“3.3”
服务:
db:
图片:mysql:5.7
端口:
- '3306:3306'
环境:
MYSQL_数据库:yacosql
MYSQL\u用户:yacosql
MYSQL_密码:yacosql
MYSQL\u ROOT\u密码:yacosql
网状物:
建造:
上下文:。
dockerfile:./docker/dockerfile
命令:python manage.py runserver 0.0.0.0:7777#此行已修改。
卷数:
-.:/usr/src/app
端口:
- "8000:7777"
取决于:
-分贝
docker compose up
之后,您可以通过执行
docker ps
看到web服务正在运行。结果应类似于:

CONTAINER ID   IMAGE                                 COMMAND                  CREATED         STATUS         PORTS                                                                                                                                  NAMES
1c6253f87494   so1_web                               "python manage.py ru…"   8 minutes ago   Up 4 minutes   0.0.0.0:8000->7777/tcp
现在您可以尝试连接到您的服务。请尝试使用以下命令:

curl 127.0.0.1:8000
如果一切顺利,您将得到预期的响应

其他 我必须推到GitHub。它在我的电脑上正常工作。您可以随意克隆它。

Explain
python manage.py运行服务器127.0.0.1:7777
在容器中使用上述命令将使Django服务器监听环回。有关更多详细信息,请阅读本文

指定Django服务器侦听
0.0.0.0:7777可以解决此问题

决议 您的
docker compose.yaml
应修改如下:

版本:“3.3”
服务:
db:
图片:mysql:5.7
端口:
- '3306:3306'
环境:
MYSQL_数据库:yacosql
MYSQL\u用户:yacosql
MYSQL_密码:yacosql
MYSQL\u ROOT\u密码:yacosql
网状物:
建造:
上下文:。
dockerfile:./docker/dockerfile
命令:python manage.py runserver 0.0.0.0:7777#此行已修改。
卷数:
-.:/usr/src/app
端口:
- "8000:7777"
取决于:
-分贝
docker compose up
之后,您可以通过执行
docker ps
看到web服务正在运行。结果应类似于:

CONTAINER ID   IMAGE                                 COMMAND                  CREATED         STATUS         PORTS                                                                                                                                  NAMES
1c6253f87494   so1_web                               "python manage.py ru…"   8 minutes ago   Up 4 minutes   0.0.0.0:8000->7777/tcp
现在您可以尝试连接到您的服务。请尝试使用以下命令:

curl 127.0.0.1:8000
如果一切顺利,您将得到预期的响应

其他
我必须推到GitHub。它在我的电脑上正常工作。你可以随意克隆它。

我得到同样的结果。
无法在0.0.0.0:7777建立到服务器的连接。
听起来很悲哀。更多日志可能会有所帮助。顺便说一下,我在Docker compose中找到了Django的快速入门。希望对你有帮助。那个文档我知道,但那个文档正在使用postgres,但我想使用MySQL。我相信我找到了您遇到的问题的原因。也许我的解释模棱两可,所以我重新编辑了它。希望它能有所帮助。我得到同样的消息
无法在0.0.0.0:7777与服务器建立连接。
听起来很悲哀。更多日志可能会有所帮助。顺便说一下,我在Docker compose中找到了Django的快速入门。希望对你有帮助。那个文档我知道,但那个文档正在使用postgres,但我想使用MySQL。我相信我找到了您遇到的问题的原因。也许我的解释模棱两可,所以我重新编辑了它。希望能有所帮助。