我正在使用旧版Rails应用程序,该应用程序需要puma-dev
工具才能在本地开发。该应用必须能够将client-a.myapp.test
之类的域名解析为localhost:3000。
问题是这个应用程序太旧了,由于各种组件过时,我和我的团队需要对其进行docker化,以便有希望在本地安装它。
问题仍然存在,我不能只是将puma-dev放入我的docker容器中,因为Linux对该工具的支持非常缺乏,而且还不清楚如何将指令转换为docker环境。在那条路线上挣扎了一段时间之后,我决定采取另一种方法。
现在,我已经从dockerhub上的golang镜像创建了一个单独的docker镜像,仅用于puma-dev。我决定尝试与包含ruby应用程序的其他docker容器并行运行它,希望它们可以一起工作(ruby应用程序在端口3000上运行,并带有puma-dev侦听功能),或者最终与我一起将其列出为docker-compose中对ruby应用程序的依赖关系,并将它们捆绑在一起。但是,我不确定这样做是否有意义,或者从逻辑上讲是完全合理的方法。
我想我的问题是,我可以这样做吗?或者,更好的是,如何使puma-dev与Docker一起使用?
答案 0 :(得分:0)
您可以使用puma-dev代理功能https://github.com/puma/puma-dev#proxy-support
在rails docker映像中运行Rails服务器并公开端口3000,然后在主机中使用以下命令为localhost:3000设置代理:
echo '3000' > ~/.puma-dev/myapp