Где хранятся изображения Docker на главной машине?

мне удалось найти контейнеры в каталоге /var/lib/docker/containers, но я не могу найти изображений.

каковы каталоги и файлы в разделе /var/lib/docker?

20 ответов


содержание зависит от Driver Docker используется для хранения.

по умолчанию это будет aufs но может вернуться к overlay, overlay2, btrfs, devicemapper или zfs в зависимости от поддержки ядра. В большинстве мест это будет aufs но RedHats пошел с devicemapper.

вы можете вручную установить драйвер хранилища с -s или --storage-driver= к Докер демон.

  • /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 для Mac контейнеры хранятся в виртуальной машине, расположенной по адресу:

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

в специальном случае Mac OS X или Windows с помощью boot2docker образы Docker хранятся в виртуальной машине VirtualBox, управляемой boot2docker.

эта виртуальная машина будет храниться в обычном месте изображений VirtualBox:

OS X:~/VirtualBox VMs/boot2docker-vm

Windows:%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 .

на самом деле, изображения Docker хранятся в двух файлах, как показано следующей командой

$ docker info

файл данных: /var/lib/docker/devicemapper/devicemapper/data

метаданные файл: /var/lib/docker/devicemapper/devicemapper/metadata


изображения хранятся в /var/lib/docker/graph/<id>/layer.

обратите внимание, что изображения просто отличаются от родительского изображения. Родительский идентификатор хранится с метаданными изображения /var/lib/docker/graph/<id>/json.

когда вы docker run изображение. AUFS "объединит" все слои в одну полезную файловую систему.


на недавно выпущенном Docker для Windows, который использует Hyper-V, данные находятся на виртуальном жестком диске Docker:

C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx

вы также можете открыть "Hyper-V Manager" для доступа к Docker / MobyLinuxVM.


для тех, кто использует Docker toolbox (который использует docker-machine), ответы, касающиеся boot2docker в Mac OS X, недопустимы. Виртуальная машина docker называется "default" и существует в .


в Ubuntu вы можете "играть" с образами работает

sudo baobab /var/lib/docker

на самом деле, изображения хранятся в течение /var/lib/docker/aufs/diff

screenshot showing disk analyzer tool baobab running on /var/lib/docker


на Docker для Windows (для Windows) по умолчанию контейнер для хранения:

   > docker info
   ...
   Docker Root Dir: C:\ProgramData\Docker
   ...

Если вы используете Docker для 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

расширяя ответ Тристана, в Windows с Hyper-V вы можете перемещать изображение с помощью этих шаги из matthuisman:

В Windows 10,

  1. остановить докер и т. д.
  2. введите "Hyper-V Manager" в поле поиска панели задач и запустите его.
  3. выберите свой компьютер в левой панели (мой называется РАБОЧИЙ СТОЛ-CBP**)
  4. щелкните правой кнопкой мыши на правильной виртуальной машине (моя называется MobyLinuxVM)
  5. выберите "Выключить" (если он работает)
  6. щелкните правой кнопкой мыши на нем снова и выберите "переместить"
  7. следуйте инструкциям

Я использую boot2docker для Docker на Mac OSX, поэтому изображения сохраняются в /Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk.


в Docker для Windows журналы находятся здесь:%USERPROFILE%\AppData\Local\Docker


Я могу ответить на этот вопрос только для пользователей Ubuntu:

корневой каталог docker можно найти при запуске команды docker info

каталог Docker будет приведен в этой строке:"Docker Root Dir: /var/lib/docker"

об изображениях docker, они хранятся внутри каталога docker: /var/lib/docker/aufs/diff/

помните, что эти вещи не одинаковы во всех версиях docker. В настоящее время, я использую 1.12.3.


Если вы помните, что Docker все еще работает в виртуальной машине, системные пути относятся к виртуальной машине, а не к системе Mac Osx. Как говорится, все содержится в файле VM:

/ пользователи / MyUserName / библиотека / контейнеры / com.докер.docker / Data / com.докер.водитель.amd64-linux / Docker.формат qcow2

попробуйте запустить Alpine image с этой опцией Тома и командой ls, которую вы можете перечислить хост VM:

docker run --rm-it-v /: / vm-root alpine: edge ls-l /vm-root

после этого просто попробовать :

запуск докера --rm-it-v /: / vm-root alpine:edge ls-l / VM-root/var/lib / docker

теперь вы можете перечислить папку docker с хоста WM


проверьте папку docker в /var/lib

изображения хранятся в хранилище ниже:

/var/lib/docker/image/overlay2/imagedb/content

на Fedora, Docker использует LVM для хранения, если таковые имеются. В моей системе docker info показывает:

Storage Driver: devicemapper
 Pool Name: vg01-docker--pool
 Pool Blocksize: 524.3 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file:
 Metadata file:
 Data Space Used: 9.622 GB
 ...

в этом случае для увеличения хранилища вам придется использовать инструменты командной строки LVM или совместимые менеджеры разделов, такие как blivet.


На Debian Unstable / Sid,

docker info для поиска общесистемной информации.

изображения хранятся в /var/lib/docker/image/overlay2/imagedb/content и

контейнеры хранятся на /var/lib/docker/containers

версия docker 18.06.0-ce, версия API 1.38


и если вы хотите увидеть, какие изображения у вас есть локально, вы должны запустить docker в интерактивном режиме с командой bash(я думаю, что это команда), чтобы получить обычное приглашение linux$. Затем запустите docker images. Внутри мобилинукса.vhdx, в /var/lib/ docker/, где хранится локальный кэш.