0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dockerコマンドのお勉強

Last updated at Posted at 2025-05-09

docker info 全項目 日本語解説+実践アドバイス付き

🔹 クライアント情報(Client)

項目 解説
Version docker CLIのバージョン。CLIとデーモンのバージョンが大きく異なると非互換の可能性があるため、同時アップデート推奨。
Context 複数のDockerデーモン(例:ローカル、リモート)を切り替える機能。docker context create で設定し、docker context use で切り替え可能。
Debug Mode クライアント側のデバッグモード。有効にするとコマンド実行時に詳細なログが出力され、トラブル対応に便利。
Plugins CLIで利用できるプラグイン(例:buildx, compose)。/usr/libexec/docker/cli-plugins に設置。
docker version -f 'json'
{"Client":{"Platform":{"Name":"Docker Engine - Community"},"Version":"28.1.1","ApiVersion":"1.49","DefaultAPIVersion":"1.49","GitCommit":"4eba377","GoVersion":"go1.23.8","Os":"linux","Arch":"amd64","BuildTime":"Fri Apr 18 09:52:10 2025","Context":"default"},"Server":{"Platform":{"Name":"Docker Engine - Community"},"Components":[{"Name":"Engine","Version":"28.1.1","Details":{"ApiVersion":"1.49","Arch":"amd64","BuildTime":"Fri Apr 18 09:52:10 2025","Experimental":"false","GitCommit":"01f442b","GoVersion":"go1.23.8","KernelVersion":"6.8.0-58-generic","MinAPIVersion":"1.24","Os":"linux"}},{"Name":"containerd","Version":"1.7.27","Details":{"GitCommit":"05044ec0a9a75232cad458027ca83437aae3f4da"}},{"Name":"runc","Version":"1.2.5","Details":{"GitCommit":"v1.2.5-0-g59923ef"}},{"Name":"docker-init","Version":"0.19.0","Details":{"GitCommit":"de40ad0"}}],"Version":"28.1.1","ApiVersion":"1.49","MinAPIVersion":"1.24","GitCommit":"01f442b","GoVersion":"go1.23.8","Os":"linux","Arch":"amd64","KernelVersion":"6.8.0-58-generic","BuildTime":"2025-04-18T09:52:10.000000000+00:00"}}

context=

フィールド名 意味
"Name" コンテキストの名前(ここでは default
"Metadata" 将来拡張や追加情報のためのメタデータ。通常は空。
"Endpoints" 接続先のエンドポイント定義。Docker 用の情報が入っている。
"docker.Host" Docker デーモンへの接続先。ここではローカルの Unix ソケット /var/run/docker.sock を使っている。
→ つまり「ローカルの Docker に接続」している
"docker.SkipTLSVerify" TLS の証明書検証をスキップするかどうか。通常は false で検証する。
"TLSMaterial" TLS 証明書・秘密鍵などの情報。ここでは <IN MEMORY> とあるので、ファイルとしては存在していない(または未使用)。
"Storage.MetadataPath" メタデータの保存先。<IN MEMORY> は保存先が一時的で永続化されていないことを意味する。
"Storage.TLSPath" TLS 情報の保存場所。同様に <IN MEMORY>

🔹 サーバ情報(Server)

▼ コンテナとイメージ

項目 解説
Containers 全コンテナ数。停止コンテナも含まれる。
Running / Paused / Stopped 状態別のコンテナ数。停止コンテナが多いとディスク圧迫の原因になるため docker container prune 推奨。
Images ローカルに存在するDockerイメージの数。未使用イメージは docker image prune 等で削除するのが望ましい。

▼ バージョン・ストレージ関連

項目 解説
Server Version Dockerデーモンのバージョン。CLIバージョンと一致させておくのが無難。
Storage Driver ストレージ管理方式。Linuxでは overlay2 が最適で推奨。
Backing Filesystem Dockerが動作するホスト側のファイルシステム(通常はext4)。
Supports d_type ext4の d_type 機能が有効か。falseなら再フォーマットが必要な場合も。
Using metacopy メタデータだけをコピーする高速化技術。通常はfalseのままでOK。
Native Overlay Diff 差分検出をネイティブサポートしているか。trueなら高速なdocker diffが可能。
userxattr ユーザー拡張属性。セキュリティやバックアップ用途で利用されるが、通常はfalse。

▼ ログ・リソース制御

項目 解説
Logging Driver ログ出力方法。デフォルトは json-file。大規模運用では fluentdjournald などに切り替える。
Cgroup Driver systemd を使用することでホストOSと整合性のあるリソース制御が可能。Kubernetesと併用する場合も必須。
Cgroup Version 使用中のcgroup世代(v1またはv2)。v2は細かな制御と統一的な構成が可能。

▼ プラグイン関連

種別 解説
Volume ストレージ管理用ドライバ(例:local, nfs)。
Network bridge, host, overlay などのネットワーク構成が可能。
Log awslogs, fluentd, json-file, gelf など、ログ出力形式の種類。

▼ Swarm

項目 解説
Swarm クラスタ構築機能(Swarmモード)。小規模で軽量なクラスタ用途に最適。Kubernetesより簡易。

▼ ランタイム

項目 解説
Runtimes / Default Runtime コンテナを起動する実行エンジン。通常は runc。GPU用途では nvidia に変更が必要。
Init Binary コンテナのPID 1プロセスとして動く初期化プロセス。Zombieプロセスの防止に重要。
containerd version Dockerが利用する軽量なコンテナ管理デーモンのバージョン。
runc version runcはOCI準拠のコンテナランタイム。
init version docker-init の内部バージョン。通常は意識しなくてよい。

▼ セキュリティ

項目 解説
apparmor Ubuntu標準のアクセス制御。強化したい場合は独自プロファイル作成も可能。
seccomp 危険なシステムコールを制限する。Dockerはデフォルトで制限済み。
cgroupns 名前空間ごとのcgroup隔離。マルチユーザーでのセキュリティ強化に有効。

🔹 ホスト環境

項目 解説
Kernel Version 実行中のLinuxカーネルバージョン。新機能対応やセキュリティのため、なるべく新しいバージョンを使用。
Operating System ホストのOS。Linuxでの動作が最も安定・高速。
OSType オペレーティングシステムの種類(Linux/Mac/Windows)。
Architecture CPUアーキテクチャ(例:x86_64、arm64)。ビルドアーキテクチャに関係する。
CPUs 使用可能なCPUコア数。コンテナに割り当て可能。
Total Memory 全メモリ容量。大量のイメージやビルドには大きめのメモリが必要。
Name ホストマシンの名前(hostname と同じ)。ネットワーク識別に使用される。
ID Dockerエンジンの一意識別子。Swarmなどのクラスタ構成時に利用。

🔹 その他設定

項目 解説
Docker Root Dir Dockerの作業ディレクトリ。デフォルトは /var/lib/docker。容量不足の場合、別ディスクへ変更可能。
Debug Mode サーバ側のデバッグログ出力。/etc/docker/daemon.json{"debug": true} を書くことで有効化。
Experimental Dockerの実験的機能。安定版リリースに先立ちテストしたい場合に有効化。
Insecure Registries HTTPSなしでアクセスする非安全レジストリ一覧。開発環境専用で使うこと。
Live Restore Enabled デーモン再起動時でもコンテナを落とさずに維持する機能。高可用性を求める運用で有効にすべき。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?