Где образы Docker хранятся в Windows

Обновлено: 21.11.2024

Контейнеры и образы Windows находятся в папке C:\ProgramData\Docker на диске операционной системы.

Где сохраняются образы докеров?

Образы Docker хранятся в каталоге docker: там хранятся образы /var/lib/docker/.

Где хранятся образы докеров Windows WSL?

Краткий ответ: C:\%LocalAppData%\Docker\wsl\data\ext4. vhdx, где docker хранит кеш изображений в Windows с wsl2.

Где хранится кеш Docker?

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

Где хранятся тома докеров Windows?

Тома Docker в Windows всегда создаются на пути к драйверу графа, где Docker хранит все слои образов, доступные для записи слои контейнеров и тома. По умолчанию корневой каталог графического драйвера в Windows — C:\ProgramData\docker , но вы можете подключить том к определенному каталогу при запуске контейнера.

Docker для начинающих. Учебник 9. Что такое образы Docker | Как запускать образы Docker |

Найдено 42 похожих вопроса

Что такое образ докера?

Образ Docker — это файл, используемый для выполнения кода в контейнере Docker. . Docker используется для создания, запуска и развертывания приложений в контейнерах. Образ Docker содержит код приложения, библиотеки, инструменты, зависимости и другие файлы, необходимые для запуска приложения.

Что такое Kubernetes и Docker?

Фундаментальное различие между Kubernetes и Docker заключается в том, что Kubernetes предназначен для работы в кластере, а Docker — на одном узле. Kubernetes более обширен, чем Docker Swarm, и предназначен для эффективной координации кластеров узлов в масштабе производства.

В чем разница между Docker и образом Docker?

Разница между образом Docker и контейнером Docker:

Контейнер — это объект реального мира. Изображение создается только один раз. Контейнеры создаются любое количество раз с помощью image. Изображения неизменяемы.

Как запустить локальный образ Docker?

  1. создать образ докера. docker build -t имя-образа .
  2. запустить образ докера. docker run -p 80:80 -it имя-образа.
  3. остановить все контейнеры Docker. остановка докера $(docker ps -a -q)
  4. удалить все контейнеры Docker. docker rm $(docker ps -a -q)
  5. удалить все образы Docker. .
  6. привязки портов конкретного контейнера. .
  7. строить. .
  8. беги.

В чем разница между запуском и запуском Docker?

Start запускает все остановленные контейнеры. Сюда входят только что созданные контейнеры. Выполнить — это комбинация создания и запуска. Он создает контейнер и запускает его.

Как запустить Docker в Windows?

  1. Получите Docker Desktop для Windows. Получите Docker Desktop для Windows.
  2. Установить. Дважды щелкните Docker для установщика Windows, чтобы запустить программу установки. .
  3. Беги. Откройте терминал командной строки, например PowerShell, и попробуйте некоторые команды Docker! .
  4. Наслаждайтесь. .
  5. Документация.

Как запустить Docker?

  1. Запустите контейнер с помощью команды docker run и укажите имя только что созданного образа: $ docker run -dp 3000:3000 Getting-started. Помните флаги -d и -p? .
  2. Добавьте один или два элемента и убедитесь, что они работают так, как вы ожидаете. Вы можете помечать элементы как выполненные и удалять элементы.

Что такое слои Docker?

Что такое слои? Контейнеры Docker являются строительными блоками для приложений. Каждый контейнер представляет собой образ с доступным для чтения/записи слоем поверх группы слоев, доступных только для чтения. Эти слои (также называемые промежуточными образами) создаются, когда команды в Dockerfile выполняются во время сборки образа Docker.

Зачем нам нужен образ Docker?

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

Для чего используется Docker?

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

Может ли Kubernetes работать без Docker?

Наоборот; Kubernetes может работать без Docker, а Docker может работать без Kubernetes. .Затем Kubernetes позволяет автоматизировать подготовку контейнеров, работу в сети, балансировку нагрузки, безопасность и масштабирование для всех этих узлов с помощью единой командной строки или панели управления.

Что такое Kubernetes простыми словами?

Kubernetes – это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и службами, которая упрощает как декларативную настройку, так и автоматизацию. Он имеет большую, быстрорастущую экосистему. . Название Kubernetes происходит от греческого языка и означает «рулевой» или «лоцман».

Почему Docker так популярен?

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

Где хранятся контейнеры WSL2?

*от dev.to. Контейнер WSL2 по умолчанию находится на диске C:\.

Где хранятся тома?

Тома похожи на виртуальные жесткие диски, которыми управляет Docker. Docker хранит их на диске (обычно в /var/lib/docker/volumes/) и дает им легко запоминающееся одно имя, а не путь к каталогу. Их легко создавать и удалять с помощью интерфейса командной строки Docker.

Где хранятся тома докеров WSL2?

ls -l /var/lib/docker/volumes/

Как кэшировать докер?

  1. Команда ПУСК. Команда RUN позволяет выполнить команду в образе Docker. .
  2. Команда COPY. Команда COPY в Dockerfile позволяет импортировать один или несколько внешних файлов в образ Docker. .
  3. Команда ДОБАВИТЬ.

Сколько места занимает мой докер?

С помощью команды docker system df вы получите сводку об использовании Docker, включая такие сведения, как:

  1. Общий размер всех изображений.
  2. Общий размер всех контейнеров.
  3. Размер локальных томов.
  4. И кэш.

Как просмотреть все изображения в докере?

Самый простой способ составить список образов Docker — использовать «образы Docker» без аргументов. При использовании этой команды вам будет представлен полный список образов Docker в вашей системе. Кроме того, вы можете использовать команду «docker image» с аргументом «ls».

Энтони Хеддингс

Энтони Хеддингс
Писатель

Энтони Хеддингс (Anthony Heddings) – штатный облачный инженер LifeSavvy Media, технический писатель, программист и эксперт по платформе Amazon AWS. Он написал сотни статей для How-To Geek и CloudSavvy IT, которые были прочитаны миллионы раз. Подробнее.

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

Разница между изображениями и контейнерами

Изображения — это то, что вы создаете при запуске сборки docker; они хранятся в реестре контейнеров, таком как Docker Hub, и содержат все файлы и код для запуска приложения. Вы можете думать о них как о файлах ISO для операционной системы виртуальной машины.

Контейнеры создаются из образов и похожи на настоящую виртуальную машину, на которой выполняется приложение. У вас может быть несколько контейнеров, работающих параллельно с одним и тем же образом. Каждый контейнер будет иметь свою собственную файловую систему, при необходимости созданную с помощью «подключения тома», которое привязывает данные с хоста к контейнеру.

Работа с хранилищем образов Docker

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

Если вы хотите получить прямой доступ к данным изображения, они обычно хранятся в следующих местах:

  • Linux: /var/lib/docker/
  • Windows: C:\ProgramData\DockerDesktop
  • macOS: ~/Library/Containers/com.docker.docker/Data/vms/0/

Однако трогать эти данные, скорее всего, не стоит. Хранилище Docker сложное и на самом деле сильно различается в зависимости от того, какой драйвер хранилища он использует. Linux теперь по умолчанию использует overlay2 в большинстве дистрибутивов, что даже недоступно для большинства конечных пользователей. Воздействие на это может привести к потере данных.

Вместо этого Docker предоставляет управляемые команды для обработки изображений.Вы можете просмотреть все версии загруженных изображений с помощью простой команды:

К счастью, все не так плохо, как кажется, поскольку образы Docker хранят версии поэтапно. Это означает, что всякий раз, когда вы загружаете новую версию, она заменяет только те части, которые были изменены. Если вы часто используете одно и то же изображение снова и снова, вы, вероятно, не будете тратить слишком много денег на хранение.

Однако, если вы используете много разных изображений, у вас может быть много сохраненных изображений, которые больше не используются. Чтобы очистить их, Docker предоставляет встроенную команду для запуска сборки мусора. При этом будут удалены все изображения, на которые нет ссылок, т. е. не помеченные или на которые не ссылается какой-либо контейнер.

Чтобы удалить все старые образы, не используемые существующими контейнерами, запустите его с флагом -a:

Это охватывает основной вариант использования, но есть еще несколько полезных команд:

  • inspect : отображает информацию о версии контейнера.
  • сохранить и загрузить: сохраняет и загружает изображения в tar-архив.
  • rm : удаляет изображение напрямую.
  • pull/push : обновления из удаленного реестра.
  • история: содержит журнал изменений.

Работа с контейнерным хранилищем Docker

Вы можете просмотреть всю информацию о контейнере с помощью docker inspect , которая показывает драйверы и данные файловой системы, а также все существующие подключения и тома.

Контейнеры хранят данные двумя способами. Во-первых, это базовая файловая система, которая копируется из образа и уникальна для каждого контейнера. Docker использует «нижний каталог» и «верхний каталог», которые представляют собой отдельные слои, которые объединяются в одну гибридную файловую систему. В нижнем каталоге хранятся данные базового образа, а в верхнем каталоге хранится все, что было изменено во время выполнения, например файлы журналов. В любом случае их хранение зависит от драйвера файловой системы, на использование которого настроен Docker.

Затем существуют монтирования, которые привязывают каталоги с хоста к контейнеру, обычно управляемые автоматически с помощью функции Docker, которая называется тома. Они обычно хранятся и доступны конечным пользователям. Если вы выполняете какую-либо работу, требующую изменения данных в запущенных контейнерах, вам, вероятно, следует изменить том или привязать монтирование.

Доступ к томам

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

Если вы хотите изменить данные, хранящиеся в томах, вы тоже можете это сделать. Они хранятся в стандартном формате, доступном для Linux:

Вы можете получить идентификатор тома и информацию с помощью docker volume inspect .

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

Изменение файловой системы контейнера Docker

Если вы хотите изменить файловую систему контейнера, как и изображения, это плохая идея. В большинстве случаев следует создать новую версию контейнера с обновленными изменениями и развернуть обновление.

Однако, если вы хотите внести некоторые быстрые изменения, не останавливая контейнер, лучше всего просто открыть оболочку bash внутри контейнера и изменить ее с помощью Docker. Сделать это очень просто — запустите docker exec для контейнера и передайте «bash» в качестве команды:

С этого момента вы можете использовать обычные команды Linux. Если вы хотите сделать это удаленно, вы можете установить SSH-сервер в своем контейнере и связать порт 22 с другим портом на хосте.

  • › Как добавлять, заменять и удалять теги изображений Docker
  • › CloudFoundry или Kubernetes: какую облачную платформу выбрать?
  • › Что нового в TypeScript 4.6?
  • › Как развернуть веб-сервер Caddy с помощью Docker
  • › Как использовать Docker для упаковки приложений CLI

Я использую операционную систему Windows 10 Домашняя. Я установил набор инструментов Docker.

Теперь я хочу отправить этот образ на другой компьютер. Но я не получаю файл изображения.

Может кто-нибудь сказать мне, где будет сохранено мое изображение? Или есть ли способ указать докеру путь к изображению в команде сборки докера.

Вы проверили: C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx? Я нахожу там свою. Спасибо, что задали вопрос. @пурнима-наик

20 ответов 20

Все ответы для меня устарели или неверны, я нашел их в "%localappdata%\Docker\wsl"

Я не понимаю. Я ожидаю файл докера или что-то вроде файла json или yml.Как я могу изменить значения конфигурации, например. для подключения к БД?

Боже мой, весь интернет переполнен людьми, которые ищут, где находится файл образа docker. Какой жалкий дизайн и поддержка создателей Docker. Наконец я нашел правильный ответ здесь. Большое спасибо.

Ответы действительно сбивают с толку, потому что существует несколько способов запуска Docker в Windows. Новейший способ — обновление Windows 10 Home May 2020 Update. Он будет использовать новую версию подсистемы Windows для Linux (WSL2). Этот ответ касается этой конфигурации.

После активации WSL2 вы установите Docker Desktop. Docker Desktop — это клиент, который подключается к хосту внутри WSL.

Каталог изображений несколько противоречив. Если вы запустите информацию о докере на своем хост-компьютере или внутри WSL, он даст вам путь к корневому каталогу Docker: /var/lib/docker, который не существует:

Вы найдете изображения в

Или по этому пути проводника Windows:

Если вы используете не домашнюю версию Windows 10, она может работать по-другому. Взгляните на другие ответы. Поскольку у меня нет доступа к этой ОС, я не буду пытаться ответить.

Теперь путь \\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\ для меня пуст, хотя информация о докере говорит, что у меня есть 4 образа.

@AlexandrZarubkin Правильный путь в моем случае: \\wsl$\docker-desktop-data\version-pack-data\community\docker\image и/или \\wsl$\docker-desktop-data\version -pack-data\community\docker\overlay2 (в зависимости от того, что вы ищете)

В Windows 10 щелкните правой кнопкой мыши значок докера на панели задач (справа от панели задач) и выберите «Настройки». На панели «Дополнительно» вы увидите что-то вроде:

Можно найти этот путь в меню «Дополнительные настройки», но этот путь не существует в моей файловой системе, несмотря на то, что я установил отображение скрытых и системных файлов и папок!

  1. С помощью команды docker info.
  2. В результате проверьте корневой каталог Docker.

Эта папка будет содержать изображения, контейнеры и т. д.

На моем компьютере с Windows 10 я получаю этот путь "Корневой каталог Docker: /mnt/sda1/var/lib/docker", который не существует на моем компьютере.

Вы используете Docker или Docker Toolbox? Судя по журналам, вы используете Docker-Toolbox, который запускает виртуальную машину Linux для docker-machine. В этом случае - подключитесь к docker-машине и перейдите в указанную папку

Почему невозможно получить достоверную информацию о докере?? Это так расстраивает! Как и люди выше, я запускаю контейнеры Linux на компьютере с Windows 10 и не могу понять, в каком волшебном месте Docker хранит контейнеры.

Если у вас активированы контейнеры Windows, ваши образы по умолчанию хранятся в C:\ProgramData\Docker\

Чтобы изменить это, вы можете отредактировать файл C:\ProgramData\Docker\config\daemon.json и добавить новый ключ "graph" с новым путем. (обратите внимание, что каждый обратный слеш экранируется другим обратным слэшем)

После этого вам нужно перезапустить службу Docker, и вы можете проверить свои изменения с помощью команды docker info и посмотреть запись Docker Root Dir.

Хавьер прав. Вы получаете расширенный вариант только тогда, когда докер использует контейнеры Linux. Также я считаю, что мы используем «data-root» для предоставления местоположения изображения

Я вижу, что в контекстном меню Docker есть настройка — переключиться на контейнеры Windows. Я думал, что это будет означать, что «базовым контейнером» будет ОС Windows, а не ОС Linux. Но это не так? Я хотел бы иметь доступ к виртуальному HD на виртуальных жестких дисках Hyper V. Но это кажется непрактичным..

для меня: C:\Users\savantKingShirt\.docker. Свято Свято!! на самом деле докер везде размещает файлы на моих дисках. святое дерьмо!! и мой файл vhdx уже 2GB!!

Если вы используете Windows 10 и используете контейнеры Windows

На приведенном выше изображении docker запускает контейнеры Windows. Итак, он показывает переключение на контейнеры Linux.

Сначала запустите команду docker info (более конкретная информация о docker --format «>»).

Вы должны увидеть корневой каталог как

Корневой каталог Docker: C:\ProgramData\Docker

Теперь запустите команду, чтобы получить изображение, подобное

После того, как он извлечет образ, вы можете заглянуть в корневой каталог docker.

Обратите внимание на текущую измененную дату и время. В одной из папок можно увидеть ша слоев.

Наконец, вам также нужно заглянуть в следующую папку, если вы хотите узнать, куда загружаются изображения. Две папки выше и ниже

  • C:\ProgramData\Docker\image\windowsfilter
  • C:\ProgramData\Docker\windowsfilter

Теперь образы Linux.

Если ваш докер работает с контейнерами Windows, а затем, если вы пытаетесь получить контейнер на основе Linux, такой как nginx, например, так

вы получите следующее сообщение.

Так что переключайтесь на контейнеры Linux. Смотрите самое первое изображение.

После запуска Docker для Linux снова запустите команду.

Вы можете видеть, что изображение загружается.

Теперь, где это изображение загружено на ваш жесткий диск? Команда docker info в этом случае может мало помочь.

Итак, начните снова. Нажмите «Настройки», а затем «Переключиться на контейнеры Windows».

А теперь посмотрите путь.

На моем компьютере это C:\ProgramData\DockerDesktop\vm-data

Обратите внимание на столбец даты изменения. Обратите внимание и обратите внимание на это после извлечения или удаления образа на основе Linux.

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

но если вам нужно, запустите виртуальную машину на базе Linux, установите docker и исследуйте путь /var/lib/docker/

Себастьян Сигл

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

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

Вы можете получить основную информацию о конфигурации Docker, выполнив:

Выходные данные содержат информацию о вашем драйвере хранилища и корневом каталоге Docker.

Место хранения образов и контейнеров Docker

Контейнер Docker состоит из сетевых настроек, томов и образов. Расположение файлов Docker зависит от вашей операционной системы. Вот обзор наиболее часто используемых операционных систем:

  • Убунту: /var/lib/docker/
  • Fedora: /var/lib/docker/
  • Debian: /var/lib/docker/
  • Windows: C:\ProgramData\DockerDesktop
  • MacOS: ~/Library/Containers/com.docker.docker/Data/vms/0/

В macOS и Windows Docker запускает контейнеры Linux в виртуальной среде. Поэтому необходимо знать некоторые дополнительные сведения.

Докер для Mac

Docker изначально не совместим с macOS, поэтому для запуска виртуального образа используется Hyperkit. Данные его виртуального образа находятся в:

В виртуальном образе используется путь Docker по умолчанию /var/lib/docker .

Вы можете исследовать корневой каталог Docker, создав оболочку в виртуальной среде:

Вы можете закрыть этот сеанс, нажав Ctrl+a, а затем k и y.

Докер для Windows

В Windows Docker немного дробится. Существуют нативные контейнеры Windows, которые работают аналогично контейнерам Linux. Контейнеры Linux запускаются в минимальной виртуальной среде на основе Hyper-V.

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

Если вы просматриваете обычные изображения, вы получите такие пути Linux, как:

Вы можете подключиться к виртуальному образу следующим образом:

Там вы можете перейти к указанному местоположению:

Внутренняя структура корневой папки Docker

Внутри /var/lib/docker хранится другая информация. Например, данные для контейнеров, томов, сборок, сетей и кластеров.

Образы Docker

Самым тяжелым содержимым обычно являются изображения. Если вы используете наложение драйвера хранилища по умолчанию2, ваши образы Docker хранятся в /var/lib/docker/overlay2. Там вы можете найти различные файлы, представляющие слои образа Docker, доступные только для чтения, и слой поверх него, содержащий ваши изменения.

Давайте рассмотрим содержание на примере:

LowerDir содержит слои изображения, доступные только для чтения. Слой чтения-записи, представляющий изменения, является частью UpperDir. В моем случае папка NGINX UpperDir содержит файлы журнала:

MergedDir представляет собой результат UpperDir и LowerDir, который используется Docker для запуска контейнера. WorkDir является внутренним каталогом для overlay2 и должен быть пустым.

Тома Docker

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

Мы можем получить информацию о расположении подключенного тома следующим образом:

Каталог, на который указывает ссылка, содержит файлы из папки /var/log контейнера NGINX.

Очистить пространство, используемое Docker

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

Кроме того, вы также можете удалить неиспользуемые тома, выполнив:

Обзор

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

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

Надеюсь, вам понравилась статья. Если вам это нравится и вы чувствуете потребность в аплодисментах, подписывайтесь на меня в Твиттере. Я работаю в eBay Kleinanzeigen, одной из крупнейших мировых компаний, занимающихся классификацией. Кстати, мы набираем сотрудников!

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