【发布时间】:2018-03-21 01:05:41
【问题描述】:
给定一个运行容器的测功机,Heroku 相当于docker exec -it blarg /bin/bash 是什么?也就是说,如何在已经运行的容器中打开一个 shell?
示例 Dockerfile:
FROM heroku/heroku:16
CMD while true; do sleep 1; done
示例运行:
$ heroku container:push my_app
<wait a minute>
$ heroku ps
=== my_app (Free): /bin/sh -c while\ true\;\ do\ sleep\ 1\;\ done (1)
my_app.1: up 2017/10/09 12:13:07 -0600 (~ 4m ago)
到目前为止一切顺利。
但是现在……
$ heroku ps:exec --dyno=my_app.1
Establishing credentials... error
▸ Could not connect to dyno!
▸ Check if the dyno is running with `heroku ps'
为了更好地衡量,我此时检查了heroku ps,它表明测功机仍在运行。
是的,我已经完成了 Heroku 建议 to enable Docker support 的所有事情。根据文档,我尝试使用我选择的基本映像,同时确保存在bash、curl、openssh 和python。我也尝试过使用 Heroku-16 基础镜像,如上例所示。
(链接的文档还引用了私人空间所需的步骤。由于我没有使用私人空间,我没有应用这些步骤。)
【问题讨论】: