铁路服务部署期间构建 Docker 错误

问题描述 投票:0回答:1

我之前已经在 Railway 上部署了我的 Django 项目,效果很好。不幸的是,当我尝试使用

django-sendgrid-v5
添加 SendGrid 邮件功能时 软件包来帮助我处理这个问题,在开发环境中一切都运行得很好,包括像注册用户这样的 SendGrid 邮件。

但是,当我将它部署在使用 Nixpacks 管理其默认项目构建的 Railway 上时,我不断收到这个奇怪的错误,即 ENV 不能为空。我遵循了他们在 Python 上的部署过程,因为他们具有与 Heroku 类似的部署基础设施。我确保在其平台上运行项目所需的所有(env)变量均已正确设置。我检查了我的

settings.py
文件和
.env
文件以了解我是否丢失了任何内容,但我找不到错误。我什至卸载了我认为可能会引入错误的
django-sendgrid-v5
,但我的部署仍然不断崩溃。

以下是已持久化的部署构建代码。

`

╔══════════════════════════════Nixpacks v1.16.0 ════ ══════════ ════════════════╗

║ 设置 │ python310、postgresql、gcc ║

║────────────────────────────────────────────────── ──────────────────────────────║

║ 安装 │ python -m venv --copies /opt/venv && 。 /opt/venv/bin/activate ║

║ │ && pip install -r requests.txt ║

║────────────────────────────────────────────────── ──────────────────────────────║

║ 开始 │ python manage.py migrate && Gunicorn kester_autos.wsgi ║

╚══════════════════════════════════════ ══════════ ══════════════════════════════╝

#0 使用 docker 驱动程序构建“默认”实例

#1 [内部]从 Dockerfile 加载构建定义

#1 传输 dockerfile:2.06kB 完成

#1 完成 0.0 秒

#2 [内部]加载.dockerignore

#2 传输上下文:2B 完成

#2 完成 0.0 秒

Dockerfile:12


10 |

11 | ARG DATABASE_URL EMAIL_BACKEND EMAIL_HOST EMAIL_HOST_PASSWORD EMAIL_HOST_USER NIXPACKS_METADATA PYTHONUNBUFFERED RAILWAY_ENVIRONMENT RAILWAY_ENVIRONMENT_ID RAILWAY_ENVIRONMENT_NAME RAILWAY_GIT_AUTHOR RAILWAY_GIT_BRANCH RAILWAY_GIT_COM MIT_MESSAGE RAILWAY_GIT_COMMIT_SHA RAILWAY_GIT_REPO_NAME RAILWAY_GIT_REPO_OWNER RAILWAY_PROJECT_ID RAILWAY_PROJECT_NAME RAILWAY_SERVICE_ID RAILWAY_SERVICE_NAME SECRET_KEY

12 | >>> ENV =$ DATABASE_URL=$DATABASE_URL EMAIL_BACKEND=$EMAIL_BACKEND EMAIL_HOST=$EMAIL_HOST EMAIL_HOST_PASSWORD=$EMAIL_HOST_PASSWORD EMAIL_HOST_USER=$EMAIL_HOST_USER NIXPACKS_METADATA=$NIXPACKS_METADATA PYTHONUNBUFFERED=$PYTHONUNBUFFERED RAIL WAY_ENVIRONMENT=$RAILWAY_ENVIRONMENT RAILWAY_ENVIRONMENT_ID=$RAILWAY_ENVIRONMENT_ID RAILWAY_ENVIRONMENT_NAME=$RAILWAY_ENVIRONMENT_NAME RAILWAY_GIT_AUTHOR=$RAILWAY_GIT_AUTHOR RAILWAY_GIT_BRANCH=$RAILWAY_GIT_BRANCH RAILWAY_GIT_COMMIT_MESSAGE=$RAILWAY_GIT_COMMIT_MESSAGE RAILWAY_GIT_COMMIT_SHA=$RAILWAY_GIT_COMMIT_SHA RAILWAY_GIT_REPO_NAME=$RAILWAY_GIT_REPO_NAME RAILWAY_GIT_REPO_ OWNER=$RAILWAY_GIT_REPO_OWNER RAILWAY_PROJECT_ID=$RAILWAY_PROJECT_ID RAILWAY_PROJECT_NAME=$RAILWAY_PROJECT_NAME RAILWAY_SERVICE_ID=$RAILWAY_SERVICE_ID RAILWAY_SERVICE_NAME=$RAILWAY_SERVICE_NAME SECRET_KEY=$SECRET_KEY

13 |

14 | # 设置阶段


错误:无法解决:第 12 行 dockerfile 解析错误:ENV 名称不能为空

错误:Docker 构建失败`

我已经查找了可能的解决方案,但无济于事。我不知道如何删除那个空白 ENV,因为他们自动构建了项目。

非常感谢您的帮助和解决这个问题。谢谢你。

javascript python django docker sendgrid
1个回答
0
投票

您已在铁路上添加了一个空的环境变量:

ENV =$ <<--- here's it

检查铁路上的“变量”选项卡,您可能会看到类似以下内容的内容:

© www.soinside.com 2019 - 2024. All rights reserved.