Ath*_*dom 38 apache-kafka docker docker-compose docker-for-mac
运行时出现以下错误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.
Run Code Online (Sandbox Code Playgroud)
在我将 Docker for 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
Run Code Online (Sandbox Code Playgroud)
dre*_*ign 82
更新 2020-12-14:
此问题似乎已在 Docker Desktop 3.0.1 for Mac 中解决。如果您禁用了 gRPC,您可能希望在更新到 3.0.1 后再次启用它。
上一个答案:
更新到 Docker Desktop 3.0.0(适用于 Mac)后,我遇到了这个问题。进入首选项并禁用实验功能 -> 使用 gRPC FUSE 进行文件共享后,我能够再次使用卷挂载。
TL;DR:如果您使用的是 Docker Desktop 3.0.0,请升级到 3.0.1,您应该会很好。
更新到 Docker Desktop 3.0.0 for Mac 后,我也遇到了这个问题。@drewsign 的回答为我解决了问题,然后我发现以下资源解释了 3.0.0 中存在错误 -> 所以我升级到 3.0.1 并解决了问题!
Github 问题在这里
v3.0.1 的 Docker 发行说明在这里
要强制您的 Docker 桌面应用程序更新(在 Mac 上),请单击顶部工具栏上的鲸鱼图标,然后单击“检查更新”。安装更新后,重新启动 Docker。现在您需要关闭“实验性功能-> 使用 gRPC FUSE 进行文件共享”
| 归档时间: |
|
| 查看次数: |
3986 次 |
| 最近记录: |