バイオインフォ(に限らないけど)の人が docker for Mac で、よくひっかかるところ
よく聞くので、記事にしてみました。
最初に
この記事は、Workflow Advent Calendar 2019 - Qiita と、バイオインフォマティクス Advent Calendar 2019 - Qiita の5日目の記事です。
内容
Mac上に、CPUもメモリも十分あるのに、なぜかエラーになる問題
他の環境で実行したところ、CPUは1コアしか使わないし、メモリも 4GB
もあれば十分、自分の Mac には 8GB
のメモリがあるので、問題なく動くはず。
しかし実行すると動かない。
このようなケースの
解決策、 Docker for Mac のメモリ設定を見直す
Docker for Mac の設定で、メモリの割当が2GBがデフォルトだったかなとおもいます。
なので、それを引き上げてあげれば解決することが多いです。
この問題は、だいたい1度解決すると、ずっと発生しないのですが、
新しく買い替えたとき
に再度発生することがあるようです。
困っている人がいたら、以下のように聞いてあげると良いかもしれません。
Macじゃなくて、Docker for Mac のメモリの割当はいくつになっていますか?
Mac で動いていた、別環境の Linux で実行したら、自分で消せないファイルができる問題
解決策、-u $(id -u):$(id -g) をつけて実行してみる。
ざっくりいうとMac 上では、dockerで生成したファイルは、自分のユーザの権限でMac上にできあがります。
Linuxに持っていったら場合に、消せないファイルができるというのは、root
権限で、ファイルが出来上がってしまうということで、自分の権限では消せないということが発生します。
その場合は、実行するときに、 docker の -u
オプションで、自分の UID
と GID
を指定してあげるとよいとおもいます。
消せなくなったファイルについては、別コンテナを立ち上げて消して上げればよいのではないかと思います。