如何准备一个包含所有必需的haskell软件包和预安装所需编译器的docker容器?

时间:2017-10-10 01:52:17

标签: haskell haskell-stack

如何准备一个包含所有必需的haskell软件包和预安装所需编译器的docker容器,这样当我发出stack build --docker时,它会立即启动应用程序构建,而不是下载依赖项和编译器?

我尝试按照'自定义图片' Stacks文档的docker部分,其中显示了

"创建一个名为stack的用户和组,并为其创建一个〜/ .stack目录。任何构建计划和缓存都将通过Stack从图像中复制,这意味着它们不需要单独下载。"

但这似乎只是使用构建计划。它不使用编译器或容器中/home/stack/.stack路径中可用的所有包。

如何做到这一点?

1 个答案:

答案 0 :(得分:-2)

我还没有将堆栈器用于堆栈,但是ASAIU堆栈只是从它的名字中拉出一个图像。您需要预先构建所需的图像,就像使用任何泊坞窗图像然后设置任务来使用它一样。为此,您需要编写客户泊坞文件,手动创建图像或从预装了堆栈包的现有lts映像开始(我相信您可以在dockerhub上找到它们)。这与堆栈无关,但是标准的docker使用。如果您熟悉docker,我建议您阅读docker websi.te.tete上的教程