RAILS_ENV、NODE_ENV 独立 Docker 图像

RAILS_ENV, NODE_ENV independent Docker image

我有一个带有 Rails 应用程序的映像,它在安装 gems、节点包、预编译资产之前设置 RAILS_ENV

我不确定,但我可以想象 assets:precompile 会根据环境(是否缩小资产)表现不同。

您能想象必须将任何特定环境放入 Dockerfile 中吗?我应该避免这种情况吗?我不喜欢必须有环境特定图像的想法。

您至少需要为预编译资产指定 RAILS_ENV。专门针对此命令,而不是针对整个图像。否则资产将使用非生产设置构建,将具有不同的指纹,而不是目标环境所期望的指纹。

因此,对于 sprockets 管理的资产,只要您的环境的 sprockets 设置与生产环境的设置相匹配就可以了。