Docker

Dockerコマンドメモ

f:id:ishimotohiroaki:20180313114950p:plain

 

イメージ操作

イメージの取得

docker pull REPOSITORY[:TAG]

 

イメージ一覧

docker images

 

イメージのタグ付け(イメージ名変更)

docker tag リポジトリ名:タグ 新イメージ名:タグ

docker tag イメージID 新イメージ:タグ

元のイメージと新イメージの2つできる。

不要であれば、元のイメージを削除する。

 

イメージをファイルに出力

docker save IMAGE > filename.tar

 

ファイルをイメージとして取り込む

docker load < filename.tar

 

exportされたコンテナファイルをイメージとして取り込む

cat filename.tar | docker import - REPOSITORY[:TAG]

 

 

コンテナ操作

イメージからコンテナ起動

docker run -itd IMAGE

 

イメージからコンテナを起動して接続する

docker run -it IMAGE bash

 

イメージからコンテナを起動して接続し、コンテナに名前をつける

docker run -it --nae NAME IMAGE bash

 

ホストのディレクトリ(/host/var/www)を、コンテナのディレクトリ(/var/www/)とリンクする

dokcer run -it -v /host/var/www:/var/www イメージID bash

複数ディレクトリの場合は-vを複数かけばいいです。

docker run -it -v /host/var/www:/var/www -v /host/tmp:/var/tmp イメージID bash

 

ホストの8080番ポートへの通信をコンテナの80番ポートへ転送する

docker run -it -p 8080:80 IMAGE bash

 

ゲストのPRIVATE_PORTに指定したポートが、ホストのどのポートに転送しているか調べる

docker port CONTAINER

docker port CONTAINER PRIVATE_PORT

 

イメージからコンテナ作成

docker create IMAGE

 

コンテナを起動

docker start CONTAINER

 

コンテナを停止

docker stop CONTAINER

 

コンテナを削除

docker rm CONTAINER [CONTAINER...]

 

停止しているコンテナをすべて削除

docker container prune

 

起動しているコンテナに接続

docker exec -it CONTAINER /bin/bash

 

起動中のコンテナ一覧

docker ps

 

コンテナ一覧(停止中含む)

docker ps -a

 

コンテナからイメージの作成

docker commit CONTAINER REPOSITORY[:TAG]

 

コンテナ内のファイルをホストにコピーする(逆も可)

docker cp CONATAINER:filename ./

 

コンテナをファイル出力する

docker export CONTAINER > filename.tar

 

 

 

特別なコマンド

停止コンテナ・未利用イメージ・未利用ボリュームを一括削除

docker system prune

Docker 1.13以降で次を一括削除

  • 停止しているコンテナすべて
  • どのコンテナからもつかわれていないボリュームコンテナすべて
  • どのコンテナとも紐付いていないイメージすべて