directory の下にコンテナーを見つける/var/lib/docker/containers
ことができましたが、画像が見つかりません。
の下のディレクトリとファイルは何/var/lib/docker
ですか?
directory の下にコンテナーを見つける/var/lib/docker/containers
ことができましたが、画像が見つかりません。
の下のディレクトリとファイルは何/var/lib/docker
ですか?
ディレクトリの内容は、Docker がストレージに使用し/var/lib/docker
ているドライバーによって異なります。
デフォルトでは、これは になりますが、カーネルのサポートに応じて、、、またはaufs
にフォールバックできます。ほとんどの場所ではこれになりますが、RedHat は.overlay
overlay2
btrfs
devicemapper
zfs
aufs
devicemapper
-s
または--storage-driver=
オプションを使用してストレージ ドライバをDocker デーモンに手動で設定できます。
/var/lib/docker/{driver-name}
イメージのコンテンツ用のドライバー固有のストレージが含まれます。/var/lib/docker/graph/<id>
json
およびlayersize
ファイルに、画像に関するメタデータのみが含まれるようになりました。の場合aufs
:
/var/lib/docker/aufs/diff/<id>
画像のファイル内容があります。/var/lib/docker/repositories-aufs
ローカルの画像情報を含む JSON ファイルです。これは、コマンドで表示できますdocker images
。の場合devicemapper
:
/var/lib/docker/devicemapper/devicemapper/data
画像を保存します/var/lib/docker/devicemapper/devicemapper/metadata
メタデータDocker for Mac アプリケーションを使用する場合、コンテナーは次の場所にある VM 内に格納されているように見えます。
~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
更新(mmorinの礼儀):
2019 年 1 月 15 日の時点では、次のファイルしかないようです。
~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw
これには、Docker ディスクと、その中のすべてのイメージとコンテナーが含まれています。
実際には、次のコマンドで示すように、Docker イメージは 2 つのファイルに格納されます。
$ docker info
データファイル:
/var/lib/docker/devicemapper/devicemapper/data
メタデータ ファイル:
/var/lib/docker/devicemapper/devicemapper/metadata
これは古い方法でしたが、現在は変更されています。2019年現在、この回答を無視してください
Mac OS X または Windows の特殊なケースでは、boot2docker を使用して、Docker イメージは boot2docker によって管理される VirtualBox VM 内に保存されます。
この VM は、VirtualBox イメージの通常の場所に保存されます。
OS X:~/VirtualBox VMs/boot2docker-vm
ウィンドウズ:%USERPROFILE%/VirtualBox VMs/boot2docker-vm
次のコマンドを実行してリセットできます (警告: これにより、これまでにビルドおよびダウンロードしたすべてのイメージが破棄されます)。
boot2docker down
boot2docker destroy
boot2docker init
boot2docker up
これは、有用な --rm オプションを使用せずにビルドをビルド/デバッグするときに大量の中間イメージを保持している場合に特に便利です。参照用にここに引用します:
docker build -t webapp --rm=true --force-rm=true .
それ以外の:
docker build -t webapp .
に画像が保存されてい/var/lib/docker/graph/<id>/layer
ます。
画像は親画像との差分に過ぎないことに注意してください。親 ID は、画像のメタデータとともに保存され/var/lib/docker/graph/<id>/json
ます。
docker run
イメージするとき。AUFS は、すべてのレイヤーを 1 つの使用可能なファイル システムに「マージ」します。
Docker ツールボックス (docker-machine を使用) を使用している人にとって、Mac OS X での boot2docker に関する回答は無効です。docker-machine VM は「default」と呼ばれ、/Users/<username>/.docker/machine/machines/default/
ディレクトリに存在します。
Docker for MAC (ではないboot2docker
) を使用している場合、場所は次のとおりです。/Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/
ここで回答したように、Mac を使用している場合は、次の場所にあります。
/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Docker for Windows では、ログは次の場所にあります。%USERPROFILE%\AppData\Local\Docker
環境: Windows 10 Pro、docker デスクトップ 2.0.3.0 エッジ
システム トレイの docker アイコンを右クリックし、[設定 - 詳細設定] を選択します。
ディスク イメージの場所 (ブラウザで編集可能) :
C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx
(そこにあります - Documents ディレクトリは隠されています)
画像は/var/lib/docker
、該当するstorage driver
ディレクトリ内に保存され、次にその下に保存されます。
コマンドを実行することで、使用中のストレージドライバを判別することができますdocker info
。