【发布时间】:2020-03-28 20:41:48
【问题描述】:
我正在使用需要 puma-dev 工具才能在本地开发的旧版 Rails 应用程序。该应用程序需要能够将client-a.myapp.test 等域解析为 localhost:3000。
问题是这个应用程序太旧了,由于各种过时的组件,我和我的团队需要对其进行 docker 化,以便有希望在本地站起来。
问题继续,是我不能只将 puma-dev 放入我的 docker 容器中,因为 Linux 对该工具的支持非常缺乏,并且非常不清楚如何将指令转换为 docker 环境。在这条路线上挣扎了很长一段时间后,我决定采取另一种方法。
现在,我已经从 dockerhub 上的 golang 映像创建了一个单独的 docker 映像,仅用于 puma-dev。我决定尝试与我的另一个包含 ruby 应用程序的 docker 容器并行运行它,希望它们可以一起工作(在端口 3000 上服务的 ruby 应用程序,带有 puma-dev 监听),或者与我最终将其列为ruby 应用程序的 docker-compose 依赖项并将它们捆绑在一起。但是,我不确定这样做是否有意义,或者这是否是一种合乎逻辑的方法。
我想我的问题是,我可以这样做吗?或者,更好的是,我怎样才能让 puma-dev 与 Docker 一起工作?
【问题讨论】:
-
将其创建为单独的图像并将其列为对 Rails 应用程序容器的依赖项应该没问题。除非这不是你要问的?
-
酷,谢谢。这就是我要问的。基本上我对实现有了一定的了解,我还有一些调试工作要做,但不确定该方法是否适合我,并且想在花费数小时进行故障排除之前进行验证。我对网络和 Docker 知之甚少,所以我不确定 puma-dev 或 docker 是否存在一些潜在的限制,这会使我的方法无效。
-
我现在正在研究这个,你能找到解决方案吗?对于我们的用例,我们有一个使用 puma-dev 在本地运行的 Rails 应用程序,它运行良好。我正在容器化 Rails 应用程序,但希望尽可能少地更改我们现有的工作流程,所以我试图让主机上的 puma-dev 使用容器的代理端口。
-
@Clinton 我无法让它正常工作。最后我只是修改了我的
/etc/hosts以使我们达到满足我们需求的可用状态。希望我能为您提供更多细节,但老实说,这是不久前的事了,所以大部分细节我都忘记了。
标签: ruby-on-rails ruby docker puma-dev