Rails、Ember、Redis、nginx 和 docker

Rails, Ember, Redis, nginx and docker

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

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

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

所以,我会尽我所能 phone,

机密将保存在环境变量中,因此您可能需要更新您的应用程序代码才能使用这些机密。

至于 dockerizing,我通常在一个(或多个)容器中做后端(rails 在这种情况下),在与单页应用程序捆绑在一起的单个容器中做 nginx(ember 在这种情况下)

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

这里有一些资源,希望能提供足够的入门资源:

网络+反应:https://github.com/sillsdev/appbuilder-portal/ 现代前沿 ember:https://gitlab.com/NullVoxPopuli/emberclear/ 旧ember:https://gitlab.com/precognition-llc/aeonvera-ui Rails: https://gitlab.com/precognition-llc/aeonvera

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

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