To Docker or Not to Docker

Dockerを使うべきか、使わざるべきか

AlphaFoldの論文発表で、これをDockerで動かすというのがtwitterで話題になっていた。 Dockerで新規なツールを動かしてみることはだいぶ普及してきたのかなあ、と思う一方で意外にもそうでもないということを一連のtwitter timelineで知ったり。

思い起こしてみると、北海道札幌市の定山渓で2015年2月に開催された国内版バイオハッカソンBH14.14で本格的に使う方法に触れて、それ以後徐々に利用頻度が上がって今では計算する必要があるときにはほぼ欠かさず使うようになったDocker(余談だが、その帰りに北海道大学に寄って議論したことから、今も継続しているハダカデバネズミの共同研究が始まったのであった)。 思い起こしてみると6年半も前になっている事実に驚いたが、当時は(今ものだが)メモリを食う上に、最初にダウンロードしてくるDockerイメージが巨大でネットワーク的に太くないと使えないということで積極的には使っていなかった。

もちろん、使わなくてもエラーメッセージを自分で解釈して「災害復旧」して使えるのであれば無理にDockerで使わなくてもいいだろう。 しかし、そのツールのインストールに難があるとか、ヘテロな実行環境での利用を教える必要がある時など、ものすごくメリットがある。 特に、新たなツールを導入するときによく起きるすでにインストールされている他のツールとの競合、よくあるのがSAMToolsやsalmonのバージョン違いでうまくインストールできなかったり、既存のツールが動かなくなったりがそれである。 あとバージョンの違う同じツールを使ってみたいときなど(例えば、sequenceserverの1.0系と2.0系)、Dockerでそれを動かすことが非常に重宝する。

Docker自体の完成度が上がり、また手元のコンピュータのスペック(CPUの性能やメモリ容量)が向上してきた今、特にためらうことはないのではないかと思う。 そういうわけで今年度(2021年度)の私のバイオインフォマティクス講義では積極的にDockerでツールを動かすことを紹介しようと思う。


Written by Hidemasa Bono in misc on 土 17 7月 2021.