5
3

More than 5 years have passed since last update.

バイオインフォマティクス解析環境のGalaxyをMacのDockerで動かしてみる

Last updated at Posted at 2018-04-13

概要

テスト環境

  • 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>

参考

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3