Как настроить docker-compose для монтирования диска в папку, а не на локальный диск - PullRequest
1 голос
/ 05 ноября 2019

Мы используем одноузловое базовое развертывание в Docker, которое включает следующие службы

kafka
schemaregistry
zookeeper

пример:

# docker-compose ps
               Name                           Command            State                     Ports
-------------------------------------------------------------------------------------------------------------------
control-center                       /etc/confluent/docker/run   Up      0.0.0.0:9021->9021/tcp
kafka-single-node_kafka_1            /etc/confluent/docker/run   Up      0.0.0.0:9092->9092/tcp
kafka-single-node_schemaregistry_1   /etc/confluent/docker/run   Up      0.0.0.0:8081->8081/tcp
kafka-single-node_zookeeper_1        /etc/confluent/docker/run   Up      0.0.0.0:2181->2181/tcp, 2888/tcp, 3888/tcp

Мы создали службы для контейнеров в соответствии с - https://docs.confluent.io/5.0.0/installation/docker/docs/installation/single-node-client.html

Мы создаем темы на машине kafka и намереваемся внедрить данные в разделы тем

Темы будут создаваться на машине контейнера kafka docker по пути - /var/lib/kafka/data

Так как/var на этой машине докера kafka всего 100G, и мы хотим использовать размер как минимум 1T

Поэтому мы планируем добавить новый диск в ОС с байтом 1T (1000G)

Как только мы добавим диск Huge, второе действие - подключить диск к /var/lib/kafka/data (поэтому папка данных будет размером 1T)

Но вопрос в том, какая конфигурация докераФайл / ы и параметры должны быть установлены?

Мы используем docker-compose.yml, который включает следующий раздел для kafka

kafka:
    image: confluentinc/cp-kafka:latest
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

1 Ответ

2 голосов
/ 06 ноября 2019

Сначала вы должны смонтировать диск в каталог в /etc/fstab на хосте linux, а затем использовать тома - https://docs.docker.com/compose/compose-file/#volumes

kafka:
    image: confluentinc/cp-kafka:latest
    volumes: 
        - /some/path:/var/lib/kafka/data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...