Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

テスト環境

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

参考

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away