質問: No compiler found, expected minor version match with ghc-8.8.4とは直接関係ないと思いますが、続き的な意味合いの質問です。 Dockerfileに ``` FROM haskell:8 RUN cabal update && cabal install pandoc pandoc-citeproc ENTRYPOINT ["pandoc"] ``` と書いて実行したころ下記のようなエラーがでました、ログが大量なので、エラー箇所以外は省略します。 ``` cabal: Failed to build pandoc-types-1.21 (which is required by pandoc-citeproc-0.17.0.2 and exe:pandoc from pandoc-2.10.1). The build process was killed (i.e. SIGKILL). The typical reason for this is that there is not enough memory available (e.g. the OS killed a process using lots of memory). The command '/bin/sh -c cabal update && cabal install pandoc pandoc-citeproc' returned a non-zero code: 1 ``` 実行方法は下記です。 ``` docker build . -t hoge ``` おそらくDockerのためのメモリが足りないんじゃないかと思うのですが Dockerコンテナで利用できるリソースや権限を制限する(Dockerの最新機能を使ってみよう:第3回) | さくらのナレッジ 引用: > > > ``` > -m、–memory メモリ容量を制限する > –memory-reservation メモリ容量を緩く制限する Docker 1.9以降 > –kernel-memory カーネルが利用できるメモリ量を制限する Docker 1.9以降 > –memory-swap メモリ+SWAPの総量を制限する Docker 1.5以降 > –memory-swappiness= コンテナ内でのスワップメモリ利用頻度を調整する Docker 1.8以降 > –oom-kill-disable OOM Killerを無効化する Docker 1.7以降 > –oom-score-adj コンテナ自体のOOM Killer優先度を調整する Docker 1.10以降 > –shm-size /dev/shmに割り当てる容量を指定する Docker 1.10以降 > > ``` > > フラグがいっぱいあります。どれに何を指定すればいいんでしょうか? Docker for Mac を使用しています。
回答: こちらにあるように、 mac の docker にはメモリ制限がかかっています。これは、 mac 上で動かす linux カーネル(VM)に対してかかる制限であるという自分の認識です。 メモリ上限を上げると、問題は解消しませんか?