Recibo el siguiente error cuando 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. Ayer funcionó antes de que actualizara Docker para Mac varias veces a la Docker version 20.10.0, build 7287ab3 . Macbook ejecuta Big Sur 11.0.1.
Nota: Funciona si Docker está degradado a 19.03.13. Pero esta no es una buena solución.
docker-compose.yml
Basado en 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: - zoo1ACTUALIZACIÓN 2020-12-14:
Este problema parece estar resuelto en Docker Desktop 3.0.1 para Mac. Si deshabilitó gRPC, probablemente querrá volver a habilitarlo después de actualizar a 3.0.1.
Respuesta anterior:
Tuve este problema después de actualizar a Docker Desktop 3.0.0 (para Mac). Después de ingresar a Preferencias y deshabilitar Funciones experimentales -> Usar gRPC FUSE para compartir archivos , pude usar montajes de volumen nuevamente.
TL; DR: si está en Docker Desktop 3.0.0, actualice a 3.0.1 y debería estar bien.
También tuve este problema después de actualizar a Docker Desktop 3.0.0 para Mac. La respuesta de @drewsign resolvió el problema para mí, luego encontré los siguientes recursos que explican que había un error en 3.0.0 -> ¡así que actualicé a 3.0.1 y solucioné el problema!
Problema de Github aquí
Notas de la versión de Docker para v3.0.1 aquí
Para forzar la actualización de su aplicación Docker Desktop (en Mac), haga clic en el ícono de la ballena en la barra de herramientas superior y luego en "Buscar actualizaciones". Después de que se haya instalado la actualización, reinicie Docker. Ahora debería desactivar "Características experimentales -> Usar gRPC FUSE para compartir archivos"