directory の下にコンテナーを見つける/var/lib/docker/containersことができましたが、画像が見つかりません。
の下のディレクトリとファイルは何/var/lib/dockerですか?
directory の下にコンテナーを見つける/var/lib/docker/containersことができましたが、画像が見つかりません。
の下のディレクトリとファイルは何/var/lib/dockerですか?
ディレクトリの内容は、Docker がストレージに使用し/var/lib/dockerているドライバーによって異なります。
デフォルトでは、これは になりますが、カーネルのサポートに応じて、、、またはaufsにフォールバックできます。ほとんどの場所ではこれになりますが、RedHat は.overlayoverlay2btrfsdevicemapperzfsaufsdevicemapper
-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。