Где хранятся изображения 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
на 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,
- остановить докер и т. д.
- введите "Hyper-V Manager" в поле поиска панели задач и запустите его.
- выберите свой компьютер в левой панели (мой называется РАБОЧИЙ СТОЛ-CBP**)
- щелкните правой кнопкой мыши на правильной виртуальной машине (моя называется MobyLinuxVM)
- выберите "Выключить" (если он работает)
- щелкните правой кнопкой мыши на нем снова и выберите "переместить"
- следуйте инструкциям
Я использую boot2docker для Docker на Mac OSX, поэтому изображения сохраняются в /Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk
.
Я могу ответить на этот вопрос только для пользователей 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/, где хранится локальный кэш.