首页 > 解决方案 > Rails、Ember、Redis、nginx 和 docker

问题描述

同事们,我有一个基于 Ember 和 Rails(在 nginx 上运行)的前端应用程序,它也使用 redis 作为缓存。

我想 dockerize 这个应用程序,但不确定最佳实践。最好创建一个带有 dockerfile 的容器来拉入所有这些部分,还是每个组件都应该在自己的容器中?

奖励积分:我必须从私有 bitbucket 存储库中检索代码,并且.. 在使用容器时,我们打算如何存储我们的秘密和其他配置文件?

标签: ruby-on-railsnode.jsdockerember.jsredis

解决方案


所以,我会尽量用手机,

秘密将保存在环境变量中,因此您可能需要更新应用程序代码以使用它们。

至于 dockerizing,我通常在一个(或多个)容器中执行后端(在本例中为 rails),在与单页应用程序捆绑的单个容器中执行 nginx(在本例中为 ember)

因此,您应该总共有两个 dockerfile。

以下是一些希望能提供足够入门的资源:

Dotnet + react:https ://github.com/sillsdev/appbuilder-portal/ 现代前沿余烬:https ://gitlab.com/NullVoxPopuli/emberclear/ 旧余烬:https ://gitlab.com/precognition-llc/ aeonvera-ui Rails:https ://gitlab.com/precognition-llc/aeonvera

对于 nginx,第一个链接显示了一个 dotnet 核心和使用 nginx 的反应应用程序,并具有我描述的部署策略。对于 nginx,你将从一个节点容器开始,或者来自 danlynn 的 ember-cli 映像(他仍然没有回复我关于让那些在官方 ember 上的文件),并使用多阶段构建最终将你的 dist 文件夹复制到最后阶段 nginx 容器中的目录。

希望这可以帮助。如果需要,我可以澄清更多。


推荐阅读