Подтвердить что ты не робот

Изменить местоположение устройства Docker - Windows

Я использую docker toolbox в Windows 7 для запуска docker. (докер версия 1.9.1)

Как оказалось, машина-докер создает свою виртуальную машину в папке C:\Users\username \.docker\machine\machines\default. И когда я фиксирую изображения, размер виртуальной машины в этом месте раздувается. Начиная с его Windows, не может позволить себе роскошь пространства на диске C.

Можно ли изменить местоположение машины по умолчанию?

4b9b3361

Ответ 1

Это то, что отлично работало для меня в Windows 7:

  • Установите переменную среды MACHINE_STORAGE_PATH в качестве корня местоположения, которое вы хотите использовать для машин/виртуальных машин Docker, кеша и т.д.
  • Установить панель инструментов Docker
  • Запустить терминал быстрого запуска Docker

Docker Toolbox теперь создаст все файлы в местоположении, на которое указывает MACHINE_STORAGE_PATH.

UPDATE:

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

Если у вас уже есть виртуальная машина, сидящая на диске C:, проще всего перейти к Oracle VirtualBox и удалить виртуальную машину по умолчанию, удалить Docker Toolbox, удалить C:\Users\<; username > .docker \, а затем выполните 3 шага выше.

Примечание. Удаление и переустановка Docker Toolbox может не потребоваться. Но я не тестировал без него.

Обновление

Чтобы переместить сертификаты Docker, установите переменную DOCKER_CERT_PATH, чтобы указать путь к новому диску. Спасибо @Nutle за подсказку.

Ответ 2

С 2015 года появился (июнь 2017 года) Hyper-V, который позволяет вам определять, где вы хотите VHDX ваши файлы VHDX:

См. Docker для Windows 1.13.0, 2017-01-19 (стабильный):

Файл VHDX, содержащий образы и тома, не подключенные к хосту, можно перемещать (используя вкладку "Дополнительно" в пользовательском интерфейсе)

Это изменит %APPDATA%\Docker\settings.json на строку:

"MobyVhdPathOverride":"C:\\Users\\Public\\Documents\\Hyper-V\\New folder\\MobyLinuxVM.vhdx"

https://cdn-enterprise.discourse.org/docker/uploads/default/optimized/2X/6/6193445cf15811ce18317c727af258adb2d16c9d_1_690x447.jpg

Смотрите эту тему для получения дополнительной информации.


Оригинальный ответ

В настоящее время докер-машина принудительно использует %USERPROFILE%:
Смотрите libmachine/mcnutils/utils.go#L17-L25

Как прокомментировано в выпуске 499:

А пока как пользователи смогут указать, где .docker/machine/* файлы .docker/machine/*?

Вы можете указать --storage-path в командной строке или использовать переменную окружения MACHINE_STORAGE_PATH.

(Вы можете видеть это реализованным в пиаре 1941)

Joost Den Boer указывает в комментариях

Только что попробовал ' -s <path> ' на Mac, и, похоже, он работает нормально.
Что может быть неочевидным, так это то, что опция path идет перед командой.
docker-machine -s/Volumes/other/location' create --driver=virtualbox " docker-machine -s/Volumes/other/location' create --driver=virtualbox "создал новый образ VirtualBox в другом месте.

Ответ 3

Вы можете переместить каталог .docker на другой диск и создать для него точку соединения.

Обратите внимание, что обычный ярлык не будет работать.

Например:

Переместите каталог .docker с C:\Users\username на D:\

и запустите:

C:\Users\username>mklink /j .docker D:\.docker
Junction created for .docker <<===>> D:\.docker

Ответ 4

Просто используйте графический интерфейс VirtualBox, чтобы переместить файл disk.vmdk:

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

  • Скопируйте файл C:\Users\{myUsername}\.docker\machine\machines\default\disk.vmdk в другую папку, скажем F:\docker-image\.
  • Откройте VirtualBox, выберите default VM и откройте Settings.
  • Откройте Storage, выберите текущий disk.vmdk и отпустите его (или удалите).
  • Нажмите Choose Virtual Hard Disk File... и найдите скопированный файл в F:\docker-image\
  • Появляется предупреждение: VirtualBox жалуется на старый VM UID, затем перейдите в меню File, выберите Virtual Media Manager... и отпустите или удалите старый disk.vmdk
  • Повторить 4., это было сделано!
  • Если требуется ваша среда, выполните перемещение также для boot2docker.iso, папки моментальных снимков, видеозахвата.

Ответ 5

Поместите эти две команды при запуске терминала быстрого запуска докера.

Я предполагаю, что ваше новое местоположение - "D:\docker", а ваше новое имя машины - "docker1"

export MACHINE_STORAGE_PATH=D:\\docker

docker-machine create --driver=virtualbox docker1

Это должно создать новый компьютер с указанным именем в вашем новом местоположении.

Ответ 6

Я не мог заставить работать метод переменной среды MACHINE_STORAGE_PATH. Он продолжал жаловаться на отсутствие сертификатов при первой инициализации машины. Тем не менее, в Windows 7 необходимо использовать док-инструментарий.

У меня проблема:

  • Удаление панели инструментов Docker и перезапуск машины
  • Откройте приглашение администратора (найдите командную строку, удерживайте shift, выберите "Запуск от имени администратора" )
  • Удаление .docker из% USERPROFILE%: rmdir/S% USERPROFILE%.docker
  • Создать папку под названием .docker в другом месте: mkdir a: \. docker
  • mklink/J% USERPROFILE%.docker a: \. docker
  • Закрыть команду командной строки администратора
  • Переустановка Docker Toolbox
  • Используйте ссылку Docker Quickstart Terminal для загрузки всего.
  • Теперь можно открыть Kitematic (хотя мне пришлось выбрать опцию "Использовать виртуальную коробку" при первой ошибке.

Ответ 7

У меня было немного проблем с любым из вышеперечисленных решений, но это то, что сработало для меня:

  • определите переменную среды MACHINE_STORAGE_PATH, чтобы указать на желаемую каталог/папку.
  • Установите docker-toolbox как обычно, если это сработает для вас, тогда это нормально, но для меня он все еще устанавливался внутри каталога .docker.
  • Чтобы исправить это, я остановил и удалил машину по умолчанию, созданную вместе с папкой .docker из каталога Users.
  • Отредактировал start.sh script и добавил строку вверху:

например.

export MACHINE_STORAGE_PATH=D:\\Docker
  • Запустите ярлык терминала быстрого запуска Docker, который перестроил машину по умолчанию в желаемой папке

Ответ 8

Эти ответы устарели, начиная с последней версии. Местоположение настраивается в пользовательском интерфейсе настроек.

https://github.com/docker/for-win/issues/333

Ответ 9

Я обнаружил, что многие из этих ответов были из данных, по крайней мере, они не работали в моей среде: win10 PRO, Docker Desktop Community 2.0.0.3. Наконец, я решил эту проблему с помощью этого метода:

  1. удалить докер

  2. откройте диспетчер Hyper-V (нажмите клавишу WIN, а затем введите "Hyper")

  3. Измените расположение виртуальных жестких дисков по умолчанию в настройках Hyper-V (не в настройках виртуальной машины) и подтвердите

  4. установить докер

  5. проверить расположение образа диска в дополнительных настройках настроек докера

Ответ 10

Создайте файл с именем c:\programdata\docker\config\daemon.json с содержимым ниже, где e:\images - это место, где вы хотите сохранить все свои изображения и т.д. Перезапустите Docker.

{"graph": "e:\images"}

Это сработало как шарм

Ссылка - https://forums.docker.com/t/where-are-images-stored/9794/11