**文書の過去の版を表示しています。**
docker
コンテナの起動
docker run -it –rm yoshitake/centos7:02 bash
–rmオプションをつけると、終了時にコンテナを削除してくれる。
コンテナ一覧表示
docker ps -a
起動中コンテナをイメージとして保存
docker commit [編集したコンテナID] [保存するコンテナ名]
起動中コンテナにログイン
exitで抜けた場合
docker exec -it [コンテナID] bash
もしくは
docker start [コンテナID]
docker attach [コンテナID]
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 shell --bind $HOME alpine.simg # $HOMEをコンテナ内でも見えるようにする場合
研究室のサーバではsingularityを /usr/local 以下にインストールしていないので上手く動かない。。。
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をメモ
sudo docker commit [コンテナID] [保存するコンテナ名(ここでは適当にmycentos6とする)]
ローカルに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