**文書の過去の版を表示しています。**
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] [保存するコンテナ名]
起動中コンテナにログイン
exitで抜けた場合
docker start [コンテナID]
docker attach [コンテナID]
もしくは
docker exec -it [コンテナID] bash
ctrl + p + qで抜けた場合
docker attach [コンテナID]
Singularityの使用
Docker -> Singularityイメージの変換 (Singularity ver. 2.5 ~ 3)
適当な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イメージの使用
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
となり動かないことが多い。。。
Docker -> Singularityイメージの変換 (Singularity ver. 2.1.2)
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