1

我正在使用需要该puma-dev工具才能在本地开发的遗留 Rails 应用程序。该应用程序需要能够解析像client-a.myapp.testlocalhost:3000 这样的域。

问题是这个应用程序太旧了,由于各种过时的组件,我和我的团队需要对其进行 docker 化,以便有希望在本地站起来。

问题继续,是我不能只是将 puma-dev 放入我的 docker 容器中,因为 Linux 对该工具的支持非常缺乏,并且非常不清楚如何将指令转换为 docker 环境。在这条路线上挣扎了很长一段时间后,我决定采取另一种方法。

现在,我已经从 dockerhub 上的 golang 图像创建了一个单独的 docker 图像,仅用于 puma-dev。我决定尝试与我的另一个包含 ruby​​ 应用程序的 docker 容器并行运行它,希望它们可以一起工作(在端口 3000 上服务的 ruby​​ 应用程序,带有 puma-dev 监听),或者与我最终将其列为ruby 应用程序的 docker-compose 依赖项并将它们捆绑在一起。但是,我不确定这是否有任何意义,或者这是否是一种合乎逻辑的方法。

我想我的问题是,我可以这样做吗?或者,更好的是,我怎样才能让 puma-dev 与 Docker 一起工作?

4

1 回答 1

0

您可以使用 puma-dev 代理功能https://github.com/puma/puma-dev#proxy-support

在 rails docker 映像中运行 rails server 并公开端口 3000,然后在您的主机中使用以下命令为 localhost:3000 设置代理:

echo '3000' > ~/.puma-dev/myapp
于 2020-11-13T10:17:34.227 回答