概要
テスト環境
- MacBookPro, Mem 16GB, SSD 1TB
- macOS 10.13.14
- Docker 18.03-0-ce-mac60
準備
コンテナ内へのファイル書き込みをホスト側のMacに保存するために、Data volumeコンテナを最初に作成する。
$ docker create -v /export --name galaxy-store \
bgruening/galaxy-stable /bin/true
-
/bin/true
コンテナ領域だけを確保したい場合、何らかの成功するコマンド(exit 0を返す)コマンドを指定する必要がある
動かす
$ docker run -d --rm \
-p 8080:80 -p 8021:21 -p 8022:22 -p 8800:8800 \
--volumes-from galaxy-store \
--privileged=true \
-e GALAXY_CONFIG_ENABLE_BETA_MULLED_CONTAINERS=True \
-e ENABLE_TTS_INSTALL=True \
bgruening/galaxy-stable
-
docker run -d
コンテナをデーモンとしてバックグラウンドで実行 -
--rm
コンテナ終了後にコンテナ破棄 -
-p 8080:80 ...
[ホスト]:[コンテナ]間のポートフォワード -
--volumes-from
準備で作成したData volumeコンテナ -
--privileged...
-e GALAXY_CONFIG_ENABLE...
コンテナ内でのDocker実行を許可 -
ENABLE_TTS_INSTALL...
Test Tool Shed からのツールのインストールを許可
ブラウザから http://localhost:8080
を開くとGalaxyにアクセスできる。
他のマシンからアクセスするには http://ホストのIPアドレス:8080
ホストとコンテナ内のファイル共有に-v /home/user/galaxy_storage/:/export/
を使うとアクセス権限の問題からうまくいかなかった。
Galaxyログの閲覧
$ docker logs -f <CONTAINER ID>
コンテナ内のシェルに入る
$ docker exec -it <CONTAINER ID> /bin/bash
ターミナルで文字列が変に折り返されないようにするには
-e COLUMNS=200 -e LINES=50
を追加
BioContainers(Docker)を使えるように設定
job_conf.xml ファイルの用意
サンプルのjob_conf.xml.docker_sample
を使う。
$ docker exec -it <CONTAINER ID> /bin/bash
# cp /export/galaxy-central/config/job_conf.xml.docker_sample /export/galaxy-central/config/job_conf.xml
Galaxyの再起動
$ docker exec <CONTAINER ID> supervisorctl restart galaxy:
テスト
Docker版のツールを探すがインストールが確認できていない。
コンテナ内のシェルに入って# docker images
でイメージがダウンロードされたかを確認。
コンテナの停止
$ docker stop <CONTAINER ID>