知って得するDockerコマンドの一覧


 本ページでは、その中の「知って得するDockerコマンドの一覧」を紹介させていただいてます。Dockerコマンド名部分のリンクをクリックしていただくと、そのコマンドの説明が表示されます。

実例と共に、より詳細なコマンド解説を、別記事「Dockerのコマンドの一覧(ver1.12対応版)(オリジナルな実例付き)」にも掲載させていただいております。よろしければご利用ください。

 

コマンド一覧

コマンド名 備考
docker save  
docker load  
docker inspect  
docker logs  

 

コマンド紹介

 

docker save

フォーマット

docker save [オプション] [イメージ名] ...
代表的なオプション
-o <出力ファイル名> 指定したファイルに出力する

使い方

 これは、ローカルのイメージ格納先内にあるDockerイメージを標準出力に出力するコマンドになります。「-o」でファイルを指定することで、特定のファイルに出力することも出来ます。

 「Docker export」というコマンドもファイルにイメージを出力しますが、そちらはDockerコンテナのカレントの状態を出力するコマンドになります。

 このコマンドは、ローカルのイメージ格納先内の自作イメージのバックアップを行う際にも使えます。

 また、自作イメージを他のDockerホストにコピーする際にも使えます。もし、ローカルネットワーク内にプライベートレジストリ(自分用のDockerイメージのレジストリ)をお持ちの場合は、そちらを使った方が便利ですが、無い場合は、このコマンドを利用することでイメージのコピーが可能となります。

 コマンドの実行例を示します。

 イメージの中身を標準出力に出力し、それをファイルにリダイレクトする場合。

$ docker save myimg01:latest > myimg01.tar

 「-o」オプションで出力ファイルを指定する場合。

$ docker save -o myimg02.tar myimg02:latest

 同じリポジトリ名で複数バージョンのイメージが存在する場合は、タグ名を指定しないで実行することで、全バージョンが1つのファイルに出力されます。タグ名を指定すると特定のイメージのみが出力されます。

 以下に例を示します。

 ubuntuのDockerイメージが2バージョン存在してます。

$ docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest bd3d4369aebc 2 weeks ago 126.6 MB
ubuntu 12.04 a11493a01736 2 weeks ago 103.6 MB

 以下のコマンドでファイルに出力します。このコマンドで上の2つのイメージが「ubuntu-all.tar」に出力されます。

$ docker save -o ubuntu-all.tar ubuntu

 本当に指定したファイルに出力されているか確認します。

 まず、ubuntuの2つのイメージを削除します。

$ docker rmi ubuntu ubuntu:12.04
$ docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE

 次に「docker load」コマンド(次に説明してます)で上で作成したubuntu-all.tarファイル内のイメージ情報をローカルに読み込みます。

$ docker load -i ubuntu-all.tar
d67c031ee592: Loading layer 109.3 MB/109.3 MB
1b3c5935154a: Loading layer 172 kB/172 kB
ea6a42e5438a: Loading layer 9.216 kB/9.216 kB
4bb2051d34c6: Loading layer 4.608 kB/4.608 kB
41a06917ade1: Loading layer 3.072 kB/3.072 kB
Loaded image: ubuntu:12.04
c8a75145fcc4: Loading layer 132.3 MB/132.3 MB
c6f2b330b60c: Loading layer 15.87 kB/15.87 kB
055757a19384: Loading layer 9.728 kB/9.728 kB
48373480614b: Loading layer 4.608 kB/4.608 kB
0cad5e07ba33: Loading layer 3.072 kB/3.072 kB
Loaded image: ubuntu:latest

 2つのイメージが読み込まれたか確認します。

$ docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest bd3d4369aebc 2 weeks ago 126.6 MB
ubuntu 12.04 a11493a01736 2 weeks ago 103.6 MB

 読み込まれていることが確認できました。

 

 

コマンド一覧に戻る

docker load

フォーマット

docker load [オプション]
代表的なオプション
-i 読み込むアーカイブファイルを指定する(サポート形式:tar,gzip,bzip,xz)

使い方

 これは、標準入力のDockerイメージ情報を読み込み、ローカルのイメージ格納先にそのDockerイメージを書き戻すコマンドになります。「-i」でファイルを指定することで、特定のファイルを読み込むことも出来ます。

 書き戻す際のイメージ名は指定しません。「docker save」コマンドにてファイルに保存された時点のイメージ名でローカルに格納されます。また、複数イメージが保存されたファイルを指定した場合は、ファイル内全てのDockerイメージが格納されます。

 以下に例を示します。

 イメージ情報を標準入力から読み込み、それをDockerイメージとして格納する場合。

$ docker load < myimg01.tar

 「-i」オプションで入力ファイルを指定する場合。

$ docker load -i myimg02.tar

 実際にコマンドを試してみます。

 現在、ubuntuのDockerイメージが2バージョン存在してます。

$ docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest bd3d4369aebc 2 weeks ago 126.6 MB
ubuntu 12.04 a11493a01736 2 weeks ago 103.6 MB

 一旦、以下のコマンドでファイルに出力します。このコマンドで上の2つのイメージが「ubuntu-all.tar」に出力されます。

$ docker save -o ubuntu-all.tar ubuntu

 次に、ubuntuの2つのイメージを削除します。

$ docker rmi ubuntu ubuntu:12.04
$ docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE

 次に「docker load」コマンドでtarファイル内のイメージ情報をローカルに読み込みます。

$ docker load -i ubuntu-all.tar
d67c031ee592: Loading layer 109.3 MB/109.3 MB
1b3c5935154a: Loading layer 172 kB/172 kB
ea6a42e5438a: Loading layer 9.216 kB/9.216 kB
4bb2051d34c6: Loading layer 4.608 kB/4.608 kB
41a06917ade1: Loading layer 3.072 kB/3.072 kB
Loaded image: ubuntu:12.04
c8a75145fcc4: Loading layer 132.3 MB/132.3 MB
c6f2b330b60c: Loading layer 15.87 kB/15.87 kB
055757a19384: Loading layer 9.728 kB/9.728 kB
48373480614b: Loading layer 4.608 kB/4.608 kB
0cad5e07ba33: Loading layer 3.072 kB/3.072 kB
Loaded image: ubuntu:latest

 2つのイメージが読み込まれたか確認します。

$ docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest bd3d4369aebc 2 weeks ago 126.6 MB
ubuntu 12.04 a11493a01736 2 weeks ago 103.6 MB

 読み込まれていることが確認できました。

 

コマンド一覧に戻る

docker inspect

フォーマット

docker inspect [オプション] [コンテナID|イメージID] ...
代表的なオプション
特記無し

使い方

 特定のコンテナやイメージの内部詳細情報をJSON形式で出力します。コンテナやイメージは各々のIDで指定します。1つのコマンドでコンテナIDとイメージIDをミックスさせることも可能です。

※JSONは、人間にとってもコンピュータにとっても読み書きしやすいというコンセプトの表記方法です。

 出力される情報はかなり細かいしボリュームも大きいので全部をご紹介できませんが、代表的なものを挙げておきます。

 コンテナの情報

Name コンテナ名
Driver 使用ストレージドライバ
Mounts マウントしているデータボリューム情報
Ports 公開ポート情報
Networks

ネットワーク情報:

IPアドレス、デフォルトゲートウェイなど

イメージの情報

RepoTags イメージ名
Config イメージが保持するconfig情報
Os イメージのOS情報
Size イメージのサイズ
RootFS イメージのレイヤ情報

 

 

コマンド一覧に戻る

docker logs

フォーマット

docker logs [オプション] [コンテナIDorコンテナ名]
代表的なオプション
-f ログをリアルタイムに出力する
--tail=n 最後からn行出力する。指定しない場合は全量出力される
-t タイムスタンプを表示する

使い方

 Dockerコンテナの標準出力及び標準エラー出力の内容を出力します。

 コンテナをデーモン起動したのに、直ぐ終了してしまうとか、外部から接続できないなど場合に、トラブルシュートに役立つ情報が出力されている場合があります。

 コンテナ内の標準的なシステムログと合わせて確認することで、トラブル解決が早まるかもしれません。

 

コマンド一覧に戻る

 以上です。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です