docker -компоновать разделение "томов" между несколькими контейнерами - PullRequest
0 голосов
/ 06 августа 2020

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

version: '3.5'
services:
  www1:
    container_name: www1
    volumes:
      - /home/user/commonDir:/var/www1/inc/commonDir
...
  www2:
    container_name: www2
    volumes:
      - /home/user/commonDir:/var/www2/inc/commonDir

Когда я нажимаю на Container1, WWW service создает тест .file в его commonDir, и когда я проверил хост, он был в моей IDE. Превосходно! Однако, когда я проверяю содержимое Container2, там вообще нет test.file.

При поиске через SO и docker я вижу, что есть новая запись верхнего уровня volumes:, которую следует использовать для совместного использования данные между контейнерами и - как это написано - похоже, что они могут включать папки хоста.

Итак, я пробую следующее:

version: '3.5'
services:
  www1:
    container_name: www1
    volumes:
      - type: volume
        source: commonDir
        target: /var/www1/inc/commonDir
...
  www2:
    container_name: www2
    volumes:
      - type: volume
        source: commonDir
        target: /var/www2/inc/commonDir

volumes:
  commonDir:
    name: commonDir

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

volumes:
  commonDir:
    name: commonDir
    source: /home/user/commonDir

Кто-нибудь может помочь?

...