首页 > 解决方案 > 为 Haskel Web 应用程序构建 docker 映像的最佳实践是什么

问题描述

我有一个使用 postgresql-simple 的 haskell Web 应用程序,它需要libpq.

我使用堆栈在 Mac 上构建项目

构建 Docker 映像以运行 haskell Web 应用程序的最佳实践是什么?这样:

  1. 我可以使用多阶段构建在最终映像中仅包含可执行文件和必要的依赖项
  2. 如果我对代码进行更改,重建映像就不必再次编译包。

标签: dockerhaskell

解决方案


Stack 内置了对使用 Docker 构建和创建 Docker 映像的支持。前者可以通过--docker命令行标志(或修改stack.yaml)打开,后者可以通过stack image container命令执行。我将它用于许多网站。

或者,您也可以为此使用多阶段 Docker 文件。我的一位同事 Deni Bertovic写了一篇关于这个主题的博客文章。


推荐阅读