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 shell --bind $HOME alpine.simg # $HOMEをコンテナ内でも見えるようにする場合

研究室のサーバではsingularityを /usr/local 以下にインストールしていないので上手く動かない。。。

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.1556006398.txt.gz
  • 最終更新: 2019/04/23 07:59
  • by 133.11.222.89