Ошибка Docker Compose Mac: не удается запустить службу zoo1: монтирование запрещено:

Я получаю следующую ошибку при запуске docker-compose up -d:

% docker-compose up -d

Creating network "kafka-test_default" with the default driver
Creating kafka-test_zoo1_1 ... error

ERROR: for kafka-test_zoo1_1  Cannot start service zoo1: Mounts denied: approving /Users/test/kafka-test/zk-single-kafka-single/zoo1/datalog: file does not exist

ERROR: for zoo1  Cannot start service zoo1: Mounts denied: approving /Users/test/kafka-test/zk-single-kafka-single/zoo1/datalog: file does not exist
ERROR: Encountered errors while bringing up the project.

Это работало вчера, прежде чем я несколько раз обновил Docker для Mac до Docker version 20.10.0, build 7287ab3. Macbook работает под управлением Big Sur 11.0.1.

Примечание. Это работает, если версия Docker понижена до 19.03.13. Но это не очень хорошее решение.


docker-compose.yml

На основе simplesteph/kafka-stack-docker-compose

version: '2.1'

services:
  zoo1:
    image: zookeeper:3.4.9
    hostname: zoo1
    ports:
      - "2181:2181"
    environment:
        ZOO_MY_ID: 1
        ZOO_PORT: 2181
        ZOO_SERVERS: server.1=zoo1:2888:3888
    volumes:
      - ./zk-single-kafka-single/zoo1/data:/data
      - ./zk-single-kafka-single/zoo1/datalog:/datalog

  kafka1:
    image: confluentinc/cp-kafka:5.5.1
    hostname: kafka1
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka1:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
      KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
      KAFKA_BROKER_ID: 1
      KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    volumes:
      - ./zk-single-kafka-single/kafka1/data:/var/lib/kafka/data
    depends_on:
      - zoo1version: '2.1'

services:
  zoo1:
    image: zookeeper:3.4.9
    hostname: zoo1
    ports:
      - "2181:2181"
    environment:
        ZOO_MY_ID: 1
        ZOO_PORT: 2181
        ZOO_SERVERS: server.1=zoo1:2888:3888
    volumes:
      - ./zk-single-kafka-single/zoo1/data:/data
      - ./zk-single-kafka-single/zoo1/datalog:/datalog

  kafka1:
    image: confluentinc/cp-kafka:5.5.1
    hostname: kafka1
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://kafka1:19092,LISTENER_DOCKER_EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL
      KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
      KAFKA_BROKER_ID: 1
      KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    volumes:
      - ./zk-single-kafka-single/kafka1/data:/var/lib/kafka/data
    depends_on:
      - zoo1
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
38
0
5 096
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

ОБНОВЛЕНИЕ 2020-12-14:

Эта проблема, по-видимому, решена в Docker Desktop 3.0.1 для Mac. Если вы отключили gRPC, вы, вероятно, захотите снова включить его после обновления до 3.0.1.

Предыдущий ответ:

У меня возникла эта проблема после обновления до Docker Desktop 3.0.0 (для Mac). После входа в «Настройки» и отключения «Экспериментальные функции» -> «Использовать gRPC FUSE для обмена файлами» я снова смог использовать монтирование томов.

Я нашел этот параметр в приложении Docker Desktop в настройках. Откройте приложение Docker Desktop (выберите «Панель управления» в меню кита Docker), щелкните значок шестеренки, выберите «Экспериментальные функции» в списке слева и отключите параметр «Использовать gRPC FUSE для обмена файлами» (переместите переключатель влево, он станет серым, а не синим). )

Mark Priddy 11.12.2020 02:07

они должны выпустить его отключенным по умолчанию 😕

Lucas 11.12.2020 13:16

Я потерял 3 часа на это :(

reiallenramos 13.12.2020 10:12

После обновления до 3.0.1 это должно быть отменено.

Veikko Karsikko 14.12.2020 14:31

Спасибо! это сработало. Пришлось обновить докер, а затем отключить функцию gRPC.

xcitic 22.12.2020 14:55

Вкратце: если вы используете Docker Desktop 3.0.0, обновитесь до 3.0.1, и все будет хорошо.

У меня также возникла эта проблема после обновления до Docker Desktop 3.0.0 для Mac. Ответ @drewsign решил проблему для меня, затем я нашел следующие ресурсы, объясняющие, что в 3.0.0 была ошибка -> поэтому я обновился до 3.0.1, и проблема исправлена!

Выпуск Github здесь

Примечания к выпуску Docker для v3.0.1 здесь

Чтобы принудительно обновить приложение Docker Desktop (на Mac), щелкните значок кита на верхней панели инструментов, затем «Проверить наличие обновлений». После установки обновления перезапустите Docker. Теперь вам нужно отключить «Экспериментальные функции -> Использовать gRPC FUSE для обмена файлами».

Другие вопросы по теме