Dockerの使い方 | 今日から、俺は、遺伝子解析、始めます。

Dockerがいろんなところで出てくるので、始めてみた。

まだまだよくわからんがとりあえず備忘録。

インストール方法→省略(何も問題ないと思う)

 

docker images --> imageのリストが出る。出力されたREPOSITORYの名前を使って

docker run XXXXXX

てな感じで使用。

 

ubuntuやcentosなどの対話型シェルを用いる際は

docker run -it centos /bin/bash

としないといけない。

さらにホスト側のフォルダとマウントしないと、ファイルのやりとりができない。

 

そこで

docker run -v ホスト側のパス:docker環境側のパス -it centos /bin/bash

とすれば、「ホスト側のパス」のディレクトリの中身と「docker環境側のパス」のディレクトリの中身が同じになる。

 

これを利用してインストールファイルを用いてdocker環境にインストールしたり、yumやapt-getを利用して必要最低限のソフトウェアをインストールする。

 

環境を保存するために一度exitする。

そしたら

docker ps -a

ここで表示されたコンテナIDを使って、

docker commit container_ID 新しいイメージ名

とすれば、先ほど色々インストールした環境がイメージとして保存される。

 

これを使えば、次回

docker run -it 新しいイメージ /bin/bash

で、その環境を引き継いで利用できる。

さらにコンテナがどんどん溜まってくるので、環境が整えば、その後は

docker run --rm -it 新しいイメージ /bin/bash

とすれば、コンテナは保存されなくなる。

 

さらに

docker save イメージ名 | gzip > name.tar.gz

でイメージをtar.gzファイルとして出力できる。

これを他人に渡して、

docker load -i name.tar.gz <-解凍がいるかも

とすれば

dockerイメージが移植できる。

 

停止中のコンテナ一括停止

docker container prune