Как добавить том с другого сервера в мой файл docker-compose - PullRequest
0 голосов
/ 16 января 2019

Я настраиваю файл dokcer-compose и хочу получить доступ к тому докеру, который находится на другом сервере. Как мне указать этот внешний том в моем файле docker-compose?

Я попытался использовать driver_opts в моем файле docker-compose, но безуспешно. Я всегда получаю эту ошибку:

ОШИБКА: для API. Невозможно запустить службу API: ошибка при подключении тома '/ var / lib / docker / volume / data-api-media': ошибка при подключении тома с параметрами: type = '' device = 'remote-path 'o =' addr = . . . , rw ': такого устройства нет

А с внешним я получаю:

Том data-api-media объявлен как внешний, но не найден. Пожалуйста, создайте том вручную, используя docker volume create --name=data-api-media и попробуйте снова.

версия: '3.4' Сервисы: апи: построить: точка входа: - ./docker-entrypoint.sh объемы: - data-api-media: / usr / src / app / media / порты: - «1095: 1095» объемы: Данные по API-медиа: driver_opts: o: "addr = . . . , rw" устройство: remote-path

Я ожидаю смонтировать внешний том докера с другого сервера в мой сервис docker-compose и получить доступ к файлам в нем.

1 Ответ

0 голосов
/ 22 февраля 2019

Вы можете создать на своем хосте плагин том докера - vieux / sshfs и подключиться к другому хосту.

Использовать драйвер громкости

Когда вы создаете том с помощью Docker Volume create или когда вы запускаете контейнер, который использует еще не созданный том, вы можете указать драйвер тома. В следующих примерах используется драйвер тома vieux / sshfs, сначала при создании отдельного тома, а затем при запуске контейнера, создающего новый том.

Начальная настройка

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

На хосте Docker установите плагин vieux / sshfs:

$ docker plugin install --grant-all-permissions vieux/sshfs

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

$ docker volume create --driver vieux/sshfs \
  -o sshcmd=test@node2:/home/test \
  -o password=testpassword \
  sshvolume

настройка docker-compose

volumes:
  - type: volume
    driver: vieux/sshfs
    source: sshvolume
    target: /target
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...