dockerでよく使うコマンド
dockerで作業するときに同じようなコマンドを使うことがよくあるのでここにまとめておく。
自分の場合はスパコン内にコンテナを作成して、その中でディープラーニングの学習をさせるのに使っている。
docker imageの一覧を確認するコマンド
docker images
これでdoker imageの一覧を出力することができる。
コンテナ(container)の一覧を確認するコマンド
docker ps -a
これでコンテナの一覧を出力することができる。
-aで停止しているコンテナも表示できる。
dockerのcontainerを作成するコマンド
docker run -it --name [コンテナ名] [使うImage] /bin/bash
作るコンテナの名前と作成時に使用するImage名を入力する。
ホストのディレクトリをコンテナにマウントするコマンド
docker run -it --name [コンテナ名] -v [ホストのマウントするディレクトリパス]:[コンテナのマウント先のパス] [使うImage名] /bin/bash
これで、ホストにあるディレクトリをコンテナにマウントして連携してどちらの環境でも連携して使うことができる。
ホストからコンテナにファイル(フォルダ)をコピーするコマンド
docker cp [file or folder名] [コンテナ名]:[コピー先アドレス]
これでホストのファイルやフォルダをコンテナにコピーすることができる。
この場合、コピーされたものはホストとコンテナで、それぞれ独自に操作することができる。
コンテナからホストにファイル(フォルダ)をコピーするコマンド
docker cp [コンテナ名]:[ファイルアドレス] [file or folder名]
ホストからコンテナにコピーする場合と同じようなコマンド。
コンテナを消去するコマンド
nvidia-docker rm (コンテナの名前) ※ -aは使わない
nvidiaのdgx-1(スパコン)を使っている場合はこのコマンド。
-aを付けると、全てのコンテナを消去してしまって大変なことになるので、決して使わないように。
コンテナに入って作業するためのコマンド
docker start container1
docker attach container1
container1は自分で作ったコンテナの名前。docker start
とdocker attach
の2つを順に実行する必要がある。