docker

docker

docker run -it --rm -v $PWD:/mydata yoshitake/centos7:02 bash
  • –rmオプションをつけると、終了時にコンテナを削除してくれる。
  • -v $PWD:/mydataで現在のディレクトリを/mydata以下で見られるようにする。

さらにグラフィカルなツールでX11を使いたい場合、

docker run --rm -it -e DISPLAY=$DISPLAY -v $HOME/.Xauthority:/root/.Xauthority gns3/xeyes bash

docker ps -a

docker commit [編集したコンテナID] [保存するコンテナ名]

docker start [コンテナID]

docker attach [コンテナID]

もしくは

docker exec -it [コンテナID] bash

docker attach [コンテナID]

Singularityの使用

適当なdockerイメージをダウンロードして、適当にツールをインストール

docker run -it centos/centos7 bash
yum XXX
exit
docker ps -a

で出てくるコンテナIDをメモ

docker commit [コンテナID] [保存するコンテナ名(ここでは適当にalpineとする)]

ローカルにdockerイメージを保存するサーバをdockerで起動して、その中にイメージを保存

docker run -d -p 5000:5000 --restart=always --name registry registry:2 #コンテナを起動させる回だけ実行すればよい
docker tag alpine localhost:5000/alpine
docker push localhost:5000/alpine

次のようなdefファイルを作る(ここでは適当にファイル名はdefとする)

Bootstrap: docker
Registry: http://localhost:5000
Namespace:
From: alpine:latest

Singularityイメージの作成

sudo SINGULARITY_NOHTTPS=1 /suikou/tool/singularity_v2019-03-12/bin/singularity build alpine.simg def
singularity pull --name bwa.img docker://quay.io/biocontainers/bwa:0.7.17--h84994c4_5
singularity shell bwa.img
#インストール時に一度だけ
#sudo chown root /suikou/tool/singularity_v2019-03-12/libexec/singularity/bin/starter-suid
#を実行してsetuidをrootに設定する必要があるかも。もしくは/usr/以下にインストールしなくてもsudo make installを使ってインストールする。

singularity shell --bind /suikou/ bwa.img # /suikou/をコンテナ内でも見えるようにする場合

研究室のサーバではカーネルが古いサーバが多く、

ERROR  : Failed to set effective UID to 0

となり動かないことが多い。。。

CentOS5ではSingularity ver. 2.1.2までしか動かないため

作業はCentOS7で行う。

sudo docker run -it centos/centos6 bash
yum XXX
exit
sudo docker ps -a

で出てくるコンテナIDをメモ

ローカルにdockerイメージを保存する

sudo docker export [コンテナID] > centos6.docker.tar

Singularityにインポート (ここからCentOS5)

sudo singularity create --size 20480 centos6.img
cat centos6.docker.tar|sudo singularity -v import centos6.img

Singularityの起動

singularity shell centos6.img
  • docker.1563601857.txt.gz
  • 最終更新: 2019/07/20 05:50
  • by suikou