我有一个 Django REST 后端映像,我尝试在 Google Cloud Run 上为其创建服务。在 Google Cloud Run 中,我将端口设置为 6000,当我尝试创建它时,它显示了以下错误:
运行时警告:检查数据库连接“默认”执行的一致迁移历史记录时出错:(2002,“无法连接到‘35.226.227.51’上的 MySQL 服务器(115)”)
用户提供的容器无法启动并侦听 PORT=6000 环境变量提供的端口。
默认 STARTUP TCP 探测在端口 6000 上的容器“后端”连续 1 次失败。实例未启动。
我的后端 Dockerfile 的最后 2 层是:
EXPOSE 6000
CMD python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:6000
我不知道如何解决这个问题,因为这是我第一次尝试部署网站。
对于数据库错误,我已检查数据库凭据并配置我的 Django settings.py 以使用所示的公共 IP 地址连接到我的 Google Cloud SQL、MySQL 实例,并确保配置正确,但不太确定为什么会这样显示该错误。
任何帮助将不胜感激!
问题现已解决,这就是我所做的:
为了解决数据库连接错误,我将我的settings.py配置如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '/cloudsql/<instance connection name>',
'USER': 'root',
'PASSWORD': '<root password>',
'NAME': '<database name>',
}
}
为了解决端口错误,我将端口从 6000 更改为 9000(我发现有些浏览器专门阻止端口 6000),并更改了 Dockerfile 的最后 2 行:
EXPOSE 6000
CMD python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:6000
对此:
CMD python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:9000