CWLを始めようとしたらまず cwltool をインストールしろなどと言われ、まじむり…となったことはありませんか?
何も考えずに以下のコマンドを打つべし (良い子のみんなは何も考えずにコマンドを打ってはいけない)
$ echo "alias='docker run --rm -it -v $(pwd):$(pwd) -w $(pwd) -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker:/var/lib/docker -v /tmp:/tmp commonworkflowlanguage/cwltool:1.0.20191022103248 --outdir $(pwd) --cachedir $(pwd)'" >> .bashrc && exec bash
$ cwltool --version
/usr/local/bin/cwltool 1.0.20191022103248
イエーイ!
zsh
をお使いのみなさんは .bashrc
を .zshrc
に変えるとよろしいです。
これはなに?
CWLはツールをコンテナで動かすのに runner である cwltool はコンテナで動かされへんの?という当然の疑問に答えるための魔法です。非常に邪悪な魔法であるためいくらか気をつける必要があります。一番気をつけるべきは $(pwd)
をマウントしているため、 commonworkflowlanguage/cwltool
のコンテナ内のファイルシステムに予め入っているディレクトリと衝突すると大変なことになります。 /home
以下とか /Users/
以下とかでやりましょう。