Docker -составить тома, задать путь к хосту - PullRequest
1 голос
/ 18 февраля 2020

Я создал простой пример, в котором я пытаюсь выполнить простую задачу. Мне нужно смонтировать указанную папку c внутри моего контейнера в указанную папку c на хост-компьютере.

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

FROM ubuntu:bionic
COPY ./file.txt /vol/file.txt

В этой папке на стороне контейнера я копирую файл с именем file.txt и мне нужно это поведение на хост-компьютере:

  • Если папка на хост-машине пуста или отсутствует или файл отсутствует, мне нужно скопировать в этот файл file.txt.
  • Если в папке хост-машины уже есть файл с таким именем, файл сохраняется и не переопределяется.

Это именно то, что происходит, когда volume используется внутри docker -compose. Проблема в том, что вы не можете выбрать папку на хост-компьютере, но вы можете просто назначить тому имя и Docker создаст его внутри одной из его папок.

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

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

Есть способ добиться этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...