我正在编写一个 Python Django Web 应用程序,该应用程序当前部署在 Heroku 上。对于某些类型的请求,我想在隔离环境中运行 docker 容器。例如,我的一个 API 端点如下所示:
import docker
def post(request):
# do some work here...
client = docker.from_env()
client.containers.run('some-image', 'some command')
# format and return response here...
如何设置我的 Heroku 应用程序,以便我可以在我的 Web 应用程序中创建和运行这样的 docker 容器?我已经在本地测试了所有内容并验证了它是否有效。我所需要的只是将它部署到 Heroku。
最佳答案
更新:
我对此进行了更多研究,似乎 Heroku Platform API确实允许您按需创建一次性 dyno,它们不提供完全隔离,因为每个一次性 dyno 将被注入(inject)与主 Web 进程相同的配置变量,从而使其理论上可以访问数据库和任何其他配置变量可能会暴露给您的应用程序。 Heroku 支持团队已确认此行为。
此外,在 Heroku 上大规模运行这样的应用程序最终会非常昂贵。
要构建具有此功能的应用程序,目前最好的选择似乎是使用不同的托管服务提供商。
关于python - 如何在 Heroku 中运行 Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63312394/