Докер: Попытка поделиться локальным путем Windows с контейнером... это не работает

Новое в Docker, и работает Docker Toolbox на Win 10 x64.

Я пытаюсь поделиться (смонтировать) локальный путь Windows с контейнером (в данном случае Portainer), чтобы контейнер сохранял все свои настройки конфигурации локально на моем ПК, чтобы я всегда мог обновить контейнер, оставаясь при этом это постоянная конфигурация.

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

Не уверены, в чем проблема?

Вот пример docker cmd, который я запускаю:

docker run -it -v /c/Servers/DockerConfigs/Portainer:/data :P portainer/portainer

Насколько я понимаю, все, что хранится в /data папка в контейнере также должна быть сохранена в папку Windows на хосте C:\Servers\DockerConfigs\Portainer, но ничего не сохраняется в этой папке Windows...

Я также попытался скопировать некоторые файлы на хосте в эту папку Windows, а затем в контейнере просмотра /data папка, чтобы увидеть, если они появляются с помощью ls -a но опять же, ничего не появляется там...

Кто-нибудь знает, что мне не хватает?

4 ответа

Решение

Наконец-то узнал ответ благодаря этой теме: Как смонтировать каталог хоста в контейнере Docker

Оказывается, самый простой способ (в Windows) - это обязательно смонтировать ваши папки из Users каталог и использовать --mount команда при запуске контейнера.

т.е.

docker run -P -it --name organizr --mount src="/c/Users/My PC/AppData/Roaming/DockerConfigs/Organizr",dst=/config,type=bind organizrtools/organizr-v2:latest

Убедитесь, что диск C включен для совместного использования: Right click on the whale icon -> Settings -> Shared Drives, Также рассмотрите возможность использования более новой версии Docker Desktop для Windows.

Прекратите что-либо делать и сделайте следующее:

  1. Удалите Docker Desktop (стабильный)
  2. Перезагрузите компьютер с Windows
  3. Установите Docker Desktop (Edge)
  4. проблема решена

У меня тоже была такая же проблема. Итак, я сделал следующие шаги.

  • Сначала вытащите контейнер windowsserver (вы можете вытащить любой контейнер в зависимости от ваших требований).

  • Перейдите на рабочий стол докера, выберите изображения.

  • Вы можете увидеть изображение, которое вы вытащили. Выберите «Выполнить», затем измените настройки. То есть установите имя контейнера, путь на вашем компьютере, который вы хотите смонтировать, путь к контейнеру (для этого я просто дал C:\data)

  • Затем сохраните настройки

  • Перейдите в контейнеры / приложения на рабочем столе докера.

  • Вы можете увидеть новое имя контейнера, которое вы создали.

* Open cli этого контейнера>- (этот символ)

  • тогда откроется cli с путем C:\.

* Введите dir . Вы можете увидеть данные папки, созданные там.

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

Другие вопросы по тегам