部署 有没人试过 Docker 部署生产环境 Rails 环境

liangchaob · 2016年12月27日 · 最后由 alvin2ye 回复于 2016年12月27日 · 2444 次阅读

最近尝试用 docker 打包 rails 生产环境,发现可用的资源很少;

我在把 rails+passenger+nginx 打一个包,把 postgres 打一个包,然后用 compose 集成;

但是在处理 rails+passenger+nginx 时候,好像必须要做很麻烦的权限处理,屡次失败;

诸位有没有现成的 rails 容器实践方案,尤其是关于秘钥等配置是怎么分发的。

这是之前我参考过的资料

http://ju.outofmemory.cn/entry/199865

https://yeasy.gitbooks.io/docker_practice/content/compose/rails.html

https://github.com/kikyous/docker-rails

可以看一下我自己做的这个,一直在用

目前是这样用的 静态资源 scp/rsync 到 volumn 映射的 path 镜像整个 app 打包 (ignore 掉资源文件和非 app 相关) 日志默认写入 docker log 做镜像的时候注意给目录分配权限。

#2 楼 @kikyous 那这里还需不需要装 passenger 呢

#4 楼 @liangchaob 用 PUMA 或 UNICORN, 不需要 passenger

passenger 在 docker 里面没有优势

#6 楼 @kikyous 多谢,我试下

#6 楼 @kikyous docker 里面怎么管理 ruby 版本比较好啊,感觉 rvm 在 docker 里面用起来不是那么友好了

#8 楼 @assyer docker 里面应该不用管理 ruby 版本,直接 from 就好

https://github.com/phusion/passenger-docker 这个跑 production 了,蛮稳定

@johnsonqu 在用了?

有个别小流量的应用在产品中跑了, 为了兼容 cap 开了 22 端口, 所以 docker 得不是很纯粹.

另外, 发生过一次未知原因卡死.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册