Мне удалось найти контейнеры в каталоге /var/lib/docker/containers
, но я не могу найти изображения.
Под какими каталогами и файлами /var/lib/docker
?
docker
docker-image
Немо
источник
источник
Ответы:
Содержимое
/var/lib/docker
каталога зависит от драйвера, который Docker использует для хранения .По умолчанию это будет ,
aufs
но может упасть обратноoverlay
,overlay2
,btrfs
,devicemapper
или вzfs
зависимости от вашей поддержки ядра. В большинстве мест это будет,aufs
но RedHats пошел с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 info
и найдите фактическое местоположение, специфичное для вашей установки .Docker for Mac
с 2 изображениями по 1,5 ГБ каждый и/var/lib
не имеет каталогаdocker
.При использовании Docker для Mac Application создается впечатление, что контейнеры хранятся в виртуальной машине, расположенной по адресу:
ОБНОВЛЕНИЕ (Предоставлено mmorin ):
По состоянию на 15 января 2019 года, кажется, есть только этот файл:
который содержит Docker Disk и все образы и контейнеры внутри него.
источник
ubuntu
,nginx
) или это место для всех контейнеров? Оригинальный вопрос требует изображений , а не контейнеров ...Docker for Mac
с двумя изображениями по 1,5 ГБ каждый и~/Library/Containers/Data/com.docker.docker/Data
не имеет каталога,com.docker.driver.amd64-linux
и единственный большой файл находитсяvms/0/Docker.raw
с 3,6 ГБ.du -hd1 ~/Library/Containers/com.docker.docker/Data/
Это был старый способ, теперь он изменился. Не обращайте внимания на этот ответ с 2019 года
В особом случае Mac OS X или Windows, используя boot2docker, ваши образы Docker хранятся в виртуальной машине VirtualBox, управляемой boot2docker.
Эта виртуальная машина будет храниться в обычном месте образов VirtualBox:
OS X:
~/VirtualBox VMs/boot2docker-vm
Окна:
%USERPROFILE%/VirtualBox VMs/boot2docker-vm
Вы можете сбросить его, запустив (ВНИМАНИЕ: Это уничтожит все изображения, которые вы создали и загрузили до сих пор):
Это особенно полезно, если вы сохранили тонны промежуточных изображений при сборке / отладке сборки без полезных опций --rm, я приведу их здесь для справки: Использование:
вместо:
источник
%USERPROFILE%\.docker\machine\machines
(обратите внимание на точку остановки в пути)C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx
На самом деле, изображения Docker хранятся в двух файлах, как показано следующей командой
источник
docker info
очень полезно, но в выводеDocker Root Dir: /var/lib/docker
не указывается место хранения изображения (см. Ответ для конкретного Mac выше).На недавно выпущенном Docker для Windows, который использует Hyper-V, данные находятся на виртуальном жестком диске Docker:
Вы также можете открыть «Диспетчер Hyper-V» для доступа к Docker / MobyLinuxVM.
источник
C:\ProgramData\docker\windowsfilter
для меня файлы изображений . Дополнительная информация: stackoverflow.com/a/39971954/188740Изображения хранятся в
/var/lib/docker/graph/<id>/layer
.Обратите внимание, что изображения просто отличаются от родительского изображения. Родительский идентификатор хранится вместе с метаданными изображения
/var/lib/docker/graph/<id>/json
.Когда вы
docker run
изображение. AUFS объединит все слои в одну используемую файловую систему.источник
В Ubuntu вы можете «играть» с изображениями, работающими
На самом деле, изображения хранятся в
/var/lib/docker/aufs/diff
источник
Для тех, кто использует панель инструментов Docker (которая использует docker-machine), ответы, касающиеся boot2docker в Mac OS X, недействительны. Виртуальная машина Docker называется «по умолчанию» и существует в
/Users/<username>/.docker/machine/machines/default/
каталоге.источник
В Docker для Windows (собственная Windows) контейнерное хранилище по умолчанию находится по адресу:
источник
docker build
команду, и я не вижу файл, который я считаю файлом изображения. Я вижу некоторые папки и некоторые текстовые файлы (например, service.txt). Какой тип файла и с каким расширением файлаdocker build
создает?Если вы используете Docker для MAC (не
boot2docker
), то местоположение/Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/
источник
jasper@~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux $ ls -lh | grep Docker -rw-r--r--@ 1 jasper staff 6.3G May 25 19:20 Docker.qcow2
я нашел изображение. Но это не контейнеры, хотя. Не видеть их в этом каталоге данных действительно ..Как ответили здесь , если вы находитесь на Mac, он находится по адресу
источник
Более подробно об ответе Тристана, в Windows с Hyper-V вы можете переместить изображение с помощью следующих шагов из matthuisman:
источник
docker build
командой. Я на компьютере с Windows 10. Я смотрю в C: \ Users \ Public \ Documents \ Hyper-V \ Виртуальные жесткие диски, но вижу только MobyLinuxVM.vhdx. Где хранятся реальные изображения?Если вы помните, что Docker все еще работает в ВМ, системные пути относятся к ВМ, а не из системы Mac Osx. Как говорится, все содержится в файле VM:
Попробуйте запустить Alpine образ с этим параметром тома и командой ls, вы можете перечислить хост VM:
После этого просто попробуйте:
Теперь вы можете перечислить папку Docker с хоста VM
источник
Я использую boot2docker для Docker на Mac OSX, поэтому изображения сохраняются в
/Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk
.источник
Я могу ответить на этот вопрос только для пользователей Ubuntu:
Корневой каталог докера можно найти при запуске команды
docker info
Каталог Docker будет указан в этой строке: "
Docker Root Dir: /var/lib/docker
"Об образах докеров они хранятся в каталоге докеров:
/var/lib/docker/aufs/diff/
Помните, что эти вещи не одинаковы во всех версиях докера. В настоящее время я использую 1.12.3.
источник
Используйте
docker info
команду для отображения общесистемной информации, и ее местоположение может отличаться.Вот пример на Ubuntu (проверьте Root Dir ):
А вот пример на Travis CI (см. Docker Root Dir ):
Вы можете использовать
--format
параметр, чтобы извлечь эту информацию в один файл, напримерили:
источник
В Docker для Windows журналы находятся здесь:
%USERPROFILE%\AppData\Local\Docker
источник
проверьте папку докера в
/var/lib
изображения хранятся в расположении ниже:
источник
/var/lib/docker/image/overlay2/
. Также обратите внимание, что это так из-за того, что ваш движок Docker используетoverlay2
в качестве драйвера хранилища.используйте
docker inspect container_id
папку поиска в MergedDir
источник
Для «Docker Desktop», нажмите на значок в панели задач Docker и нажмите «Настройки».
На вкладке «Дополнительно» вы можете увидеть расположение образа диска.
источник
Окружающая среда: Windows 10 Pro, Docker Desktop 2.0.3.0 край
щелкните правой кнопкой мыши значок докера в области уведомлений, выберите настройки - дополнительно:
Расположение образа диска (редактируется через браузер):
C: \ Users \ Public \ Documents \ Hyper-V \ Виртуальные жесткие диски \ DockerDesktop.vhdx
(это там - каталог документов скрыт)
источник
docker build
командой?источник
В Fedora Docker использует LVM для хранения, если доступно. На моей системе
docker info
показывает:В этом случае, чтобы увеличить объем хранилища, вам придется использовать инструменты командной строки LVM или совместимые менеджеры разделов, такие как blivet .
источник
В Windows 2016 докер (DockerMsftProvider) использует папку «windowsfilter» в корневом каталоге докера.
Он использует папку «tmp» в корневом каталоге докера для загрузки файлов и удаляет файлы после извлечения загруженных файлов в папку «windowsfilter».
источник
На Debian Unstable / Sid,
docker info
найти общесистемную информацию.изображения хранятся в
/var/lib/docker/image/overlay2/imagedb/content
иконтейнеры хранятся в
/var/lib/docker/containers
версия докера, версия
18.06.0-ce
API1.38
источник
Я не смог решить вопрос с Docker версии 18.09 на macos, используя приведенные выше ответы, и попытался снова.
Единственным реальным решением для меня было использование этой
docker-compose.yml
конфигурации:После запуска
docker-compose up
я наконец-то получил/tmp/host-volume
от macos общий доступ к записи в контейнере:Надеюсь, что это помогает другим.
источник
Изображения хранятся внутри
/var/lib/docker
и затем в соответствующемstorage driver
каталоге.Используемый драйвер хранилища можно определить, выполнив
docker info
команду.источник
Согласно руководству по началу работы с Docker «ваш встроенный образ» находится «в локальном реестре образов Docker вашей машины».
Это все еще странно для меня, потому что теперь это приводит к вопросу. Где находится локальный реестр образов Docker моей машины?
Тем не менее, я определенно думаю, что эта информация стоит поделиться в качестве ответа.
источник
Если кому-то это нужно для сценариев, вот решение в одну строку.
В оболочке POSIX с включенным PCRE
grep
попробуйте:DOCKER_ROOT_DIR="$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"
В PowerShell:
$DOCKER_ROOT_DIR="$(docker info 2>&1 | foreach {if($_ -match "Docker Root Dir"){$_.TrimStart("Docker Root Dir: ")}})"
Обратите внимание, что в Windows 10 (с версии
10.0.18999.1
) в конфигурациях по умолчанию возвращается:C:\ProgramData\Docker
в режиме "контейнеры Windows"/var/lib/docker
в режиме "контейнеры Linux"источник
DOCKER_ROOT_DIR="$(sudo docker info 2>&1 | grep -oP '(?<=Data loop file: ).*')"
, но в конце концов это файл, а не каталогsudo ls "$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"
перечислите содержимое этого каталога.