Где хранятся образы docker в windows

Обновлено: 02.07.2024

Начиная с Windows Server 2016 в операционной системе от Microsoft включена нативная поддержка контейнеров. Это не Linux контейнеры, это контейнеры, которые работают на Windows, и запускают Windows внутри себя.

Данный факт является результатом присоединения Microsoft к Open Container Initiative (OCI). Контейнеры в Windows позволяют запускать приложения, которые изолированы от остальной части системы в переносимых контейнерах. Эти контейнеры включают в себя все, чтобы ваше приложение было полностью функциональным. Так же как это произошло с Linux, Microsoft надеется, что контейнеры изменят характер поставки программного обеспечения для пользователей и в Windows.

Контейнеры являлись основой вычислений в Linux в течение целого ряда лет. Google, например, уже очень давно использует решения, основанные на контейнерах по всей своей империи, чтобы предоставлять распределенные приложения не только своим сотрудникам, но и своим пользователям по всему миру.

Тем не менее, Google не был долгое время одинок в своем увлечении контейнерными вычислениями. В какой-то момент из ниоткуда появился Docker, который в отличии от Google стандартизировал процессы доставки контейнеров, а также управления ими. Более того, Docker развивался сообществом энтузиастов в мире открытого исходного кода, что сделало его простым и очень популярным решением. С развитием проекта Docker буквально у каждого желающего появилась возможность получить скорость, гибкость и простоту управления программным обеспечением и инфраструктурой, которую предоставляют контейнеры.

Docker революция стала настолько значительной, что даже Microsoft присоединился к этой инициативе в первую очередь за счет поддержки Docker и Linux в Azure, а теперь и за счет интеграции этой технологии в Windows Server 2016. Самое интересное это то, что контейнеры Windows Server не основаны на Linux, это нечто совершенно новое. Windows контейнеры — это контейнеры, которые работают в Windows и запускают Windows внутри себя.

Причем Microsoft настолько серьезно стала относится к контейнерам, что сейчас активно участвует в Open Container Initiative (OCI), пытаясь перетягивать одеяло на себя так, как будто бы она сама придумала эту технологию.

Контейнер в Windows имеет много общего с его аналогом в Linux. Оба обеспечивают изолированную среду для запуска приложений. И там и там контейнеры используют передовые технологии изоляции для обеспечения портативной, но одновременно ограниченной среды, которая включает в себя практически все, чтобы приложение могло быть полностью функциональным.

Контейнер очень похож на виртуальную машину (ВМ) и часто рассматривается как отдельный тип виртуализации, но это два совершенно разные понятия. Да, каждый работает под управлением операционной системы (ОС), предоставляет внутри себя локальную файловую систему и может быть доступен по сети так же как физический компьютер. Тем не менее, при использовании ВМ вы имеете дело с полной и независимой ОС вместе с виртуальными драйверами устройств, управлением памятью и другими компонентами, которые добавляют к накладные расходы.

Контейнер переиспользует большее количество общих ресурсов хост-системы нежели виртуальная машина, а значит, он более легкий, быстрее разворачивается и проще масштабируется между различными датацентрами. Таким образом, контейнер может предложить более эффективный механизм для инкапсулирования приложения, обеспечивая ему при этом необходимые интерфейсы хост-системы — все из этого приводит к более эффективному использованию ресурсов и улучшению переносимости приложений.

Microsoft планирует предложить два типа контейнеров в Windows Server 2016: контейнер Windows Server и Hyper-V контейнер. Оба типа функционируют одинаковым образом, и могут быть созданы и управляются одинаково. Там, где они различаются — это в уровне изоляции, который каждый из них обеспечивает.

Контейнер Windows Server разделяет ядро с ОС работает на хост-машине, что означает, что все контейнеры, работающие на этой машине, разделяют одно и то же ядро. В то же время, каждый контейнер поддерживает свой собственный вид на операционную систему, реестр, файловую систему, IP-адреса и другие компоненты, сочетая это с изоляцией, предоставляемой каждому контейнеру при помощи процессов, пространства имен и технологий управления ресурсами.

Контейнер Windows Server хорошо подходит для ситуаций, в которых и основная ОС, и приложения в контейнерах лежат в пределах той же зоны доверия, например для приложений, которые охватывают несколько контейнеров или образуют общую службу. Тем не менее, контейнеры Windows Server обсуждаются в связи с их зависимостью от процесса обновления ОС хост-системы, который может осложнить обслуживание и препятствовать процессам. Например, патч примененный к хосту может сломать приложение, работающее в контейнере. Что еще более важно, в таких ситуациях, как многопользовательские среды, модель разделяемого ядра может раскрыть систему для уязвимостей приложений и кросс-контейнерных атак.

docker-windows.jpg

Hyper-V контейнер решает эти проблемы, предоставляя виртуальную машину, в которой нужно запустить контейнер Windows. При таком подходе контейнер больше не разделяет ядро хост-машины и не имеет зависимости от патчей ОС этой машины. Конечно, такой подход означает некоторую потерю скорости и эффективности упаковки, которые вы получаете с обычным контейнером в Windows Server, но взамен вы получаете более изолированную и безопасную среду.

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

Под какими каталогами и файлами /var/lib/docker ?

В таких случаях лучше всего указать особенности операционной системы в названии вопроса и / или в постановке вопроса. Два хороших ответа были предоставлены для Linux и MacOS (Mac OS X).

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

Вы можете вручную установить драйвер хранилища с помощью опции -s или --storage-driver= для демона Docker .

  • /var/lib/docker/ будет содержать специфичное для драйвера хранилище для содержимого изображений.
  • /var/lib/docker/graph/<id> теперь только содержит метаданные об изображении, в json и layersize файлах.
  • /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 все еще работает в ВМ, системные пути относятся к ВМ, а не из системы Mac Osx. Попробуйте следующую команду: docker запустите --rm -it -v /: / vm-root alpine: edge ls -l / vm-root и после этого: docker запустите --rm -it -v /: / vm-root alpine: edge ls -l / vm-root / var / lib / docker Вы можете просмотреть папку докера с хоста WM Кажется, это изменилось. Я использую Docker for Mac с двумя изображениями по 1,5 ГБ каждый и

/Library/Containers/Data/com.docker.docker/Data не имеет каталога, com.docker.driver.amd64-linux и единственный большой файл находится vms/0/Docker.raw с 3,6 ГБ.

Это был старый способ, теперь он изменился. Не обращайте внимания на этот ответ с 2019 года

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

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

Окна: %USERPROFILE%/VirtualBox VMs/boot2docker-vm

Вы можете сбросить его, запустив (ВНИМАНИЕ: Это уничтожит все изображения, которые вы создали и загрузили до сих пор):

Это особенно полезно, если вы сохранили тонны промежуточных изображений при сборке / отладке сборки без полезных опций --rm, я приведу их здесь для справки: Использование:

После новой установки Docker в Windows 10 я могу подтвердить, что в результате первого щелчка по ярлыку Docker Quickstart Terminal в первый раз создается виртуальная машина (ВМ) с именем «default» (после нескольких неудачных запусков - продолжайте работать до тех пор, пока оно работает). Эта виртуальная машина «по умолчанию» может быть расположена в Windows по адресу: %USERPROFILE%\.docker\machine\machines (обратите внимание на точку остановки в пути) Ответ больше не верен для Windows 10. Вместо этого, посмотрите более новый ответ от @tristan, на который ссылается C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx % USERPROFILE% \. Docker все еще корректен для установок win7.

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

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

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

Да, к сожалению, эти две строки "(мета) файл данных" не появляются в каждом докере. Это зависит от используемого водителя Правильный ответ: «Это то, где он находится на МОЕЙ машине». Правильный ответ: «Вот как вы найдете это на вашей машине». Это правильный ответ. Я присоединился к компании с 11 различными томами EBS, полными образов докеров. Этот ответ позволил мне выяснить, какой был текущий «Root Dir». В Mac OS X (по крайней мере, в Yosemite, то есть EOL относительно Docker), docker info очень полезно, но в выводе Docker Root Dir: /var/lib/docker не указывается место хранения изображения (см. Ответ для конкретного Mac выше).

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

Вы также можете открыть «Диспетчер Hyper-V» для доступа к Docker / MobyLinuxVM.

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

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

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

Этот ответ уже устарел, они изменили положение вещей.

В Ubuntu вы можете «играть» с изображениями, работающими

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

снимок экрана, показывающий инструмент анализатора диска baobab, работающий на / var / lib / docker

Действительно хорошо. На Mac DaisyDisk аналогичен (отображение колеса), GrandPerspective также полезен (прямоугольники). Кажется, это единственный надежный способ найти его.

Для тех, кто использует панель инструментов Docker (которая использует docker-machine), ответы, касающиеся boot2docker в Mac OS X, недействительны. Виртуальная машина Docker называется «по умолчанию» и существует в /Users/<username>/.docker/machine/machines/default/ каталоге.

Я не могу найти никаких контейнеров или папок с изображениями в этом каталоге. $ docker images -a дает около 1 гигабайта изображений, в то время как disk.vmdk в

/ .docker составляет около 20 гигабайт. Как так?

@Grav: виртуальная машина выделяет 20 гигабайт для будущего использования, но использует только 1 гигабайт для изображений.

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

Я выполнил docker build команду, и я не вижу файл, который я считаю файлом изображения. Я вижу некоторые папки и некоторые текстовые файлы (например, service.txt). Какой тип файла и с каким расширением файла docker build создает?

Если вы используете Docker для MAC (не boot2docker ), то местоположение /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

/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, он находится по адресу

Docker.qcow2? Как я должен извлечь конкретное изображение докера из этого?

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

  1. Стоп докер и т. Д.
  2. Введите «Диспетчер Hyper-V» в поле поиска панели задач и запустите его.
  3. Выберите свой ПК в левой панели (мой называется DESKTOP-CBP **)
  4. Щелкните правой кнопкой мыши на правильной виртуальной машине (моя называется MobyLinuxVM)
  5. Выберите «Выключить» (если он запущен)
  6. Щелкните правой кнопкой мыши еще раз и выберите «Переместить»
  7. Следуйте инструкциям
Это только перемещает машину Hyper-V, но не изображения, изображения будут по-прежнему сохраняться там, где находится VHD. @olive_tree Я пытаюсь найти изображения, созданные docker build командой. Я на компьютере с Windows 10. Я смотрю в C: \ Users \ Public \ Documents \ Hyper-V \ Виртуальные жесткие диски, но вижу только MobyLinuxVM.vhdx. Где хранятся реальные изображения?

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

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

docker run --rm -it -v /: / vm-root alpine: край ls -l / vm-root

После этого просто попробуйте:

запустить docker --rm -it -v /: / vm-root alpine: край ls -l / vm-root / var / lib / docker

Теперь вы можете перечислить папку Docker с хоста VM

Спасибо! Это единственный ответ, который работал для меня в Windows 10 с Hyper-v. Мне удалось очистить поврежденные файлы в папке elusive / var / lib / docker / overlay2.

Я использую 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 команду для отображения общесистемной информации, и ее местоположение может отличаться.

В зависимости от используемого драйвера хранилища может отображаться дополнительная информация, такая как имя пула, файл данных, файл метаданных, используемое пространство данных, общее пространство данных, используемое пространство метаданных и общее пространство метаданных.

В файле данных хранятся изображения, а в файле метаданных хранятся метаданные, относящиеся к этим изображениям. При первом запуске Docker выделяет определенное количество пространства данных и пространства метаданных из пространства, доступного на томе, где /var/lib/docker смонтирован.

Вот пример на Ubuntu (проверьте Root Dir ):

А вот пример на Travis CI (см. Docker Root Dir ):

Вы можете использовать --format параметр, чтобы извлечь эту информацию в один файл, например

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

Какие каталоги и файлы находятся под /var/lib/docker ?

33 ответа

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

Вы можете вручную установить драйвер хранилища с помощью -s или же --storage-driver= опция для демона Docker.

  • /var/lib/docker/ будет содержать специфичное для драйвера хранилище для содержимого изображений.
  • /var/lib/docker/graph/<id> теперь содержит только метаданные об изображении, в json а также layersize файлы.
  • /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 Application создается впечатление, что контейнеры хранятся в виртуальной машине, расположенной по адресу:

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

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

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

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

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

Окна: %USERPROFILE%/VirtualBox VMs/boot2docker-vm

Вы можете сбросить его, запустив (ВНИМАНИЕ: Это уничтожит все изображения, которые вы создали и скачали до сих пор):

Это особенно полезно, если вы сохранили тонны промежуточных изображений при сборке / отладке сборки без полезных опций --rm, я приведу их здесь для справки: Использование:

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

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

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

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

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

В Ubuntu вы можете "играть" с изображениями, работающими

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

снимок экрана, показывающий инструмент анализатора диска baobab, работающий на / var / lib / docker

Для тех, кто использует панель инструментов Docker (которая использует docker-machine), ответы относительно boot2docker в Mac OS X недопустимы. Виртуальная машина докера называется "по умолчанию" и существует в /Users/<username>/.docker/machine/machines/default/ каталог.

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

Если вы используете Docker для MAC (не boot2docker ) то место /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

Как ответили здесь, если вы находитесь на Mac, он находится по адресу

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

  1. Стоп докер и т. Д.
  2. Введите "Диспетчер Hyper-V" в поле поиска панели задач и запустите его.
  3. Выберите свой ПК в левой панели (мой называется DESKTOP-CBP**)
  4. Щелкните правой кнопкой мыши на правильной виртуальной машине (моя называется MobyLinuxVM)
  5. Выберите "Выключить" (если он запущен)
  6. Щелкните правой кнопкой мыши еще раз и выберите "Переместить"
  7. Следуйте инструкциям

Использование docker info Команда для отображения общесистемной информации и расположение может отличаться.

В зависимости от используемого драйвера хранилища может отображаться дополнительная информация, такая как имя пула, файл данных, файл метаданных, используемое пространство данных, общее пространство данных, используемое пространство метаданных и общее пространство метаданных.

В файле данных хранятся изображения, а в файле метаданных хранятся метаданные, относящиеся к этим изображениям. При первом запуске Docker выделяет определенное количество пространства данных и пространства метаданных из пространства, доступного на томе, где /var/lib/docker установлен.

Вот пример на Ubuntu (проверьте Root Dir):

А вот пример на Travis CI (см. Docker Root Dir):

Ты можешь использовать --format параметр для извлечения этой информации в один файл, например

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

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

ОТВЕТЫ

Ответ 1

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

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

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

  • /var/lib/docker/ будет содержать конкретное хранилище драйверов для содержимого изображений.
  • /var/lib/docker/graph/<id> теперь содержит только метаданные об изображении, в файлах json и layersize .
  • /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 метаданные
  • Обратите внимание, что эти файлы представляют собой тонкие подготовленные "разреженные" файлы, поэтому они не такие большие, как кажется.

Ответ 2

При использовании Docker для Mac Application создается впечатление, что контейнеры хранятся в виртуальной машине, расположенной по адресу:

ОБНОВЛЕНИЕ (Предоставлено mmorin):

По состоянию на 15 января 2019 года, кажется, есть только этот файл:

который содержит Docker Disk и все образы и контейнеры внутри него.

Ответ 3

В специальном случае Mac OS X или Windows, используя boot2docker, ваши изображения Docker хранятся в виртуальной виртуальной машине VM, которой управляет boot2docker.

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

Windows: %USERPROFILE%/VirtualBox VMs/boot2docker-vm

Вы можете reset его запустить (ПРЕДУПРЕЖДЕНИЕ: Это уничтожит все изображения, которые вы создали и загрузили до сих пор):

Это особенно полезно, если вы сохраняли тонны промежуточных изображений при построении/отладке сборки без полезных параметров --rm, я цитирую их здесь для справки: Использование:

Ответ 4

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

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

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

Ответ 5

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

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

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

Ответ 6

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

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

Ответ 7

Для тех, кто использует панель инструментов Docker (которая использует докер-машину), ответы, касающиеся boot2docker в Mac OS X, недействительны. Доклер-машина VM называется "по умолчанию" и существует в каталоге /Users/<username>/.docker/machine/machines/default/ .

Ответ 8

В Ubuntu вы можете "играть" с запущенными изображениями

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

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

Ответ 9

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

Ответ 10

Если вы используете Docker для MAC (не boot2docker ), то местоположение /Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/

Ответ 11

Как ответил здесь, если вы находитесь на Mac, он находится в

Ответ 12

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

  1. Стоп докер и т.д.
  2. Введите "Диспетчер Hyper-V" в поле поиска панели задач и запустите его.
  3. Выберите свой ПК в левой панели (мой называется DESKTOP-CBP **)
  4. Щелкните правой кнопкой мыши на правильной виртуальной машине (моя называется MobyLinuxVM)
  5. Выберите "Выключить" (если он запущен)
  6. Щелкните правой кнопкой мыши еще раз и выберите "Переместить"
  7. Следуйте инструкциям

Ответ 13

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

Ответ 14

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

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

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

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

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

Ответ 15

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

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

Docker запускает --rm -it -v/: /vm-root alpine: край ls -l/vm-root

После этого просто попробуйте:

Docker запускает --rm -it -v/: /vm-root alpine: край ls -l/vm-root/var/lib/docker

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

Ответ 16

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

Ответ 17

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

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

Ответ 18

Используйте команду docker info для отображения общесистемной информации, и ее местоположение может отличаться.

В зависимости от используемого драйвера хранилища может отображаться дополнительная информация, такая как имя пула, файл данных, файл метаданных, используемое пространство данных, общее пространство данных, используемое пространство метаданных и общее пространство метаданных.

В файле данных хранятся изображения, а в файле метаданных хранятся метаданные, относящиеся к этим изображениям. При первом запуске Docker выделяет определенное количество пространства данных и пространства метаданных из пространства, доступного на томе, где смонтирован /var/lib/docker .

Вот пример на Ubuntu (проверьте Root Dir):

А вот пример на Travis CI (см. Docker Root Dir):

Вы можете использовать параметр --format для извлечения этой информации в один файл, например

Ответ 19

Окружающая среда: Windows 10 Pro, Docker Desktop 2.0.3.0 край

щелкните правой кнопкой мыши значок докера в области уведомлений, выберите настройки - дополнительно:

Расположение образа диска (редактируется через браузер):

C:\Users\Public\Documents\Hyper-V\Виртуальные жесткие диски \DockerDesktop.vhdx

(это там - каталог документов скрыт)

Ответ 20

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

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

Ответ 21

На Debian Unstable/Sid,

docker info о docker info чтобы найти общесистемную информацию.

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

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

докер версия 18.06.0-ce , API версия 1.38

Ответ 22

В Windows 2016 докер (DockerMsftProvider) использует папку "windowsfilter" в корневом каталоге докера.

Он использует папку "tmp" в корневом каталоге докера для загрузки файлов и удаляет файлы после извлечения загруженных файлов в папку "windowsfilter".

Ответ 23

Я не смог решить вопрос с Docker версии 18.09 на macos, используя приведенные выше ответы, и попытался снова.

Единственным реальным решением для меня было использование этой конфигурации docker-compose.yml :

После запуска с docker-compose up я, наконец, получил /tmp/host-volume от macos, расшаренных как доступный для записи том из контейнера:

Надеюсь, что это помогает другим.

Ответ 24

Изображения хранятся в /var/lib/docker а затем в соответствующем каталоге storage driver .

Используемый драйвер хранилища можно определить, выполнив команду docker info .

Ответ 25

Согласно руководству по началу работы с Docker "ваш встроенный образ" находится в "локальном реестре образов Docker".

enter image description here

Это все еще странно для меня, потому что теперь это приводит к вопросу. Где мой компьютер - локальный реестр образов Docker?

Тем не менее, я определенно думаю, что эта информация стоит поделиться в качестве ответа.

Ответ 26

используйте docker inspect container_id
найти папку в MergedDir

Ответ 27

enter image description here

Для "Docker Desktop", нажмите на значок в панели задач Docker и нажмите "Настройки".

На вкладке "Дополнительно" вы можете увидеть расположение образа диска.

enter image description here

Ответ 28

Если кому-то это нужно для сценариев, вот решение в одну строку.

В оболочке POSIX с включенным PCRE grep попробуйте:

DOCKER_ROOT_DIR="$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"

Обратите внимание, что в Windows 10 (с 10.0.18999.1 ) в конфигурациях по умолчанию возвращается:

Читайте также: