Asp*_*Mat 20 heroku docker dockerfile docker-compose
我目前有一个本地测试和工作的Web应用程序,由4个docker容器组成:Java MVC,NodeJS,Flask和MongoDB.我有4个Dockerfiles,每个都有一个,我使用docker-compose.yml管理构建.
但是,现在我想将我的代码推送到Heroku,并且我在https://devcenter.heroku.com/articles/container-registry-and-runtime上阅读了文档.但是,如何在生产线上使用docker-compose似乎非常暧昧.这就是它在文档中所说的内容:
"如果您已经创建了一个多容器应用程序,则可以使用Docker Compose来定义本地开发环境.了解如何使用Docker Compose进行本地开发."
任何人都可以指导我使用Heroku的CLI将我的项目推送到Heroku容器的实际代码吗?
Asp*_*Mat 12
只是对这个问题的更新,因为它最近似乎受到了很大的关注。
现在有一个由 Heroku 提供的官方支持的“ Heroku.yml ”解决方案。您现在可以编写一个 .yml 文件(格式类似于 docker-compose),Heroku 将计算出您的图像。只需按照上面的链接了解详情。
快乐的 Heroku ing。
您正在寻找的更准确的heroku文档是:https: //devcenter.heroku.com/articles/container-registry-and-runtime
以上将指导您设置heroku容器插件并登录到注册表.您甚至可以使用dockerfile中的以下行将映像迁移到Dockerfile:
FROM "<insert Dockerfile tag here>"
Run Code Online (Sandbox Code Playgroud)
要轻松设置它,您将使用不同的后缀命名Dockerfiles,例如Dockerfile.mongo,Dockerfile.node,Dockerfile.flask和Dockerfile.javamvc.后缀告诉heroku用于您的Web应用程序的dyno名称.当您需要推送所有容器时,您可以使用以下命令执行此操作,只要所有dockerfiles都具有唯一的后缀,它将递归构建所有dockerfiles:
heroku container:push --recursive
Run Code Online (Sandbox Code Playgroud)
由于Heroku不读取docker-compose文件,因此需要将任何环境变量setup/port exposure/etc迁移到Dockerfile.另外,由于我无法在Heroku上找到如何使用容器进行持久存储/卷安装,我建议您为mongo数据库使用Heroku插件.
在Heroku上,您将看到您的应用程序作为每个Dockerfile的一个dyno运行,每个dyno的名称作为每个Dockerfile的后缀.
更新:
heroku container:release <your dyno name>要更新的每个dyno 运行.| 归档时间: |
|
| 查看次数: |
10665 次 |
| 最近记录: |