Делить тома между стеками докеров? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть два разных стека докеров, один для HBase и один для Spark.Мне нужно вывести банки HBase на искровую дорожку.Один способ, которым я могу сделать это, без необходимости изменять искровые контейнеры, это использовать объем.В моем docker-compose.yml для HBase я определил том, который указывает на дом HBase (это /opt/hbase-1.2.6).Можно ли поделиться этим объемом со стеком зажигания?

В настоящее время, поскольку имена служб различаются (два разных файла docker-compose), к ним добавляется том (hbase_hbasehome и spark_hbasehome), что приводит к сбою общего ресурса.

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете использовать external том.См. здесь официальную документацию:

, если установлено значение true, указывает, что этот том был создан вне Compose.docker-compose up не пытается создать его и выдает ошибку, если он не существует.

external не может использоваться вместе с другими ключами конфигурации тома (driver, driver_opts).

В приведенном ниже примере вместо создания тома с именем [имя_проекта] _data Compose ищет существующий том, называемый просто данными, и монтирует его в контейнеры службы db.

В качестве примера:

version: '2'

services:
  db:
    image: postgres
    volumes:
      - data:/var/lib/postgresql/data

volumes:
  data:
    external: true

Вы также можете указать имя тома отдельно от имени, использованного для ссылки на него в файле Compose:

volumes:
  data:
    external:
      name: actual-name-of-volume
...