【发布时间】:2022-01-30 00:15:30
【问题描述】:
我有 Ubuntu 20.04 机器,我的 docker 版本是 20.10.08。以下是我的 docker-compose 文件:
services:
zookeeper:
image: docker.io/bitnami/zookeeper:3.7
ports:
- "2181:2181"
volumes:
- "kafka-vol:/bitnami/kafka/config"
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: docker.io/bitnami/kafka:3
ports:
- "9092:9092"
volumes:
- "kafka-vol:/bitnami/kafka/config"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
depends_on:
- zookeeper
volumes:
kafka-vol:
driver: local
driver_opts:
type: none
o: bind
device: /home/ned/advice/data/conf/kafka
我使用docker-compose 来运行容器。它运行良好,没有错误,但我的 kafka 配置未安装在主机目录中。到目前为止,我已经尝试了以下方法:
- 允许对 bitnami docker 映像文档中提到的文件夹的权限 1001。
- 在卷中提供相对路径
.advice/data/conf/kafka - 在服务卷中直接给出完整路径(不带Docker Volume not mounting any files 中建议的双引号):
image: docker.io/bitnami/kafka:3
ports:
- "9092:9092"
volumes:
- advice/data/conf/kafka:/bitnami/kafka/config
当我做docker volume inspect kafka-vol。它给了我以下输出:
[
{
"CreatedAt": "2022-01-28T07:16:22Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "ned",
"com.docker.compose.version": "2.2.3",
"com.docker.compose.volume": "kafka-vol"
},
"Mountpoint": "/var/snap/docker/common/var-lib-docker/volumes/ned_kafka-vol/_data",
"Name": "ned_kafka-vol",
"Options": {
"device": "/home/ned/advice/data/conf/kafka",
"o": "bind",
"type": "none"
},
"Scope": "local"
}
]
现在,我不知道我做错了什么,它没有挂载我的配置文件。目录/home/ned/advice/data/conf/kafka 为空。我在这个 /home/ned/advice/data/conf/kafka 目录中期待 docker 的 kafka 配置
【问题讨论】:
-
是你当前目录中的 bitnami 文件夹吗?如果是这样,试试 =>
kafka-vol:./bitnami/kafka/config(只是加了一个点)&我也希望你没有在卷绑定中使用引号(“) -
你到底想做什么?服务器属性是从容器内部的模板生成的。您尝试设置硬编码配置是否有特定原因?挂载卷将覆盖容器路径,而不是将该路径中的数据复制到容器外
标签: docker apache-kafka docker-compose