Python 3.x Django can’;t建立与服务器的连接
我正在使用docker启动一个使用django的项目,在我完成构建之后,我没有收到任何错误,我完成了构建,我没有收到任何错误,但仍然无法连接到服务器 我的码头工人回来了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
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。我相信我找到了您遇到的问题的原因。也许我的解释模棱两可,所以我重新编辑了它。希望能有所帮助。