ruby-on-rails - Rails、Ember、Redis、nginx 和 docker
问题描述
同事们,我有一个基于 Ember 和 Rails(在 nginx 上运行)的前端应用程序,它也使用 redis 作为缓存。
我想 dockerize 这个应用程序,但不确定最佳实践。最好创建一个带有 dockerfile 的容器来拉入所有这些部分,还是每个组件都应该在自己的容器中?
奖励积分:我必须从私有 bitbucket 存储库中检索代码,并且.. 在使用容器时,我们打算如何存储我们的秘密和其他配置文件?
解决方案
所以,我会尽量用手机,
秘密将保存在环境变量中,因此您可能需要更新应用程序代码以使用它们。
至于 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 容器中的目录。
希望这可以帮助。如果需要,我可以澄清更多。