2017-10-10 97 views
1

如何准备一个包含所有必需的haskell软件包和所需的编译器的Docker容器,以便在我发布stack build --docker时立即启动应用程序构建,而不是下载依赖项和编译器?如何准备预装了所有必需的haskell软件包和必需的编译器的docker容器?

我试图在那里说

“创建用户和组命名为堆栈,并为它创建一个〜/ .STACK目录下面的堆栈文件的泊坞窗部分的“自定义图像”部分。任何建造计划和堆栈中的缓存将从Stack复制而来,这意味着它们不需要单独下载。“

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

这怎么办?

+0

这个回购可能有帮助:https://github.com/fpco/stack-docker-image-build –

+0

@MichaelSnoyman我在一个小型的虚拟项目上试了这个,我能够成功地创建图像。但是当我使用该图像构建时,出现了一堆链接器错误。 你可以在这里看到http://lpaste.net/359106 我该如何解决这个问题? –

+0

没有关于如何创建图像的更多信息,我无法确定。你只是使用'examples'目录吗? –

回答

-2

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

相关问题