我如何准备一个包含所有必需的haskell包和预先安装的编译器的docker容器,以便当我发出stack build --docker命令时,它会立即启动应用程序构建,而不是下载依赖项和编译器?
我尝试按照Stacks文档的docker部分的'custom image‘部分进行操作,上面写着
“创建一个名为stack的用户和组,并为其创建一个~/.stack目录。Stack将从映像复制其中的任何生成计划和缓存,这意味着它们不需要单独下载。”
但这似乎只使用构建计划。它不使用编译器,也不使用容器中/home/stack/.stack路径中提供的所有包。
如何做到这一点?
发布于 2017-10-10 14:43:43
我没有使用docker的堆栈,但ASAIU堆栈只是从它的名称中拉出一个图像。您需要预先构建所需的镜像,就像处理任何docker镜像一样,然后设置任务以使用它。为此,您需要编写一个客户docker文件,手动创建一个镜像,或者从一个预先加载了stack包的现有lts镜像开始(我相信您可以在dockerhub上找到它们)。这与堆栈无关,而是标准的docker使用。如果您熟悉docker,我建议您阅读有关docker websi.te.tete的教程
https://stackoverflow.com/questions/46657501
复制相似问题