【发布时间】:2021-06-09 03:53:05
【问题描述】:
在 Heroku 上,我正在尝试发布一个推送的图像,如下所述:https://stackoverflow.com/a/50788844/2771889
docker build --file Dockerfile.prod --tag registry.heroku.com/my-app/web .
heroku container:login
docker push registry.heroku.com/my-app/web
heroku container:release web
我的heroku.yml 看起来像这样(当我从 GitHub 部署时使用,并且工作正常):
build:
docker:
web: Dockerfile.prod
release:
image: web
command:
- yarn typeorm migration:run && yarn console seed
run:
web: yarn start:prod
好像run这个命令没有考虑进去。运行 container:release 时,日志显示:
使用命令
node启动进程
而在从 GitHub 发布期间,我会看到正确的命令:
使用命令
/bin/sh -c yarn start:prod启动进程
release 命令却被正确识别和执行。
如何确保container:release 使用正确的命令运行容器?
【问题讨论】:
-
随机想.. 你有没有尝试在运行命令中添加“image: web”?
-
在哪里?我正在运行
heroku container:release web,它可以识别正确的图像(并且还运行发布命令)。 -
尝试将其添加到您的运行部分。在
release部分中有一行image: web。尝试将该行也复制到run部分。它不知道在哪里运行命令。
标签: javascript docker heroku