猿问

如何在 Heroku 中运行 Docker 容器

我正在编写一个当前部署在 Heroku 上的 Python Django Web 应用程序。对于某些类型的请求,我想在一个隔离的环境中运行一个 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。


红糖糍粑
浏览 101回答 1
1回答

斯蒂芬大帝

更新:我对此进行了更多研究,似乎虽然Heroku Platform API确实允许您按需创建一次性测功机,但它们不提供完全隔离,因为每个一次性测功机都会注入相同的配置变量作为主要的 Web 进程,从理论上讲,它可以访问数据库和可能暴露给您的应用程序的任何其他配置变量。此行为已得到 Heroku 支持团队的确认。此外,在 Heroku 上大规模运行这样的应用程序最终会非常昂贵。要构建具有此功能的应用程序,目前看来最好的选择是使用不同的托管服务提供商。
随时随地看视频慕课网APP

相关分类

Python
我要回答