gpt4 book ai didi

docker - 是否可以使用属性文件而不是环境变量来启动/配置融合的Docker镜像?

转载 作者:行者123 更新时间:2023-12-02 20:48:21 26 4
gpt4 key购买 nike

The docs指出cp-zookeeper和cp-kafka镜像是通过环境变量配置的。

The ZooKeeper image uses variables prefixed with ZOOKEEPER_ with the variables expressed exactly as they would appear in the zookeeper.properties file. As an example, to set clientPort, tickTime, and syncLimit run the command below:


 docker run -d \
--net=host \
--name=zookeeper \
-e ZOOKEEPER_CLIENT_PORT=32181 \
-e ZOOKEEPER_TICK_TIME=2000 \
-e ZOOKEEPER_SYNC_LIMIT=2
confluentinc/cp-zookeeper:3.3.1

我宁愿提供 zookeeper.properties(kafka的server.properties),而不是指定ZOOKEEPER_ *(KAFKA_ *)环境变量。这可能吗?

在我当前使用“非融合” kafka进行的设置中,我只是在/ etc / kafka上挂载了包含属性的配置卷,然后从中启动kafka,但查看 confluent docker images,我发现它不起作用,因为有一些特殊之处为了在容器内部生成属性,进行了模板魔术。

最佳答案

您可以通过在docker命令中使用--env-file开关而不是在命令行中键入每个环境变量来实现您所描述的内容。

例如,如果您首先将所需的属性存储到文件中,则说kafka.properties:

KAFKA_ZOOKEEPER_CONNECT=localhost:32181
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:29092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1

那么您可以通过运行以下命令来启动您的kafka容器:
docker run -d --net=host --name=kafka --env-file ./kafka.properties confluentinc/cp-kafka:3.3.1
尽管如此,属性键的名称应与每个docker镜像所期望的相匹配(如您所注意到的,当每个docker镜像运行时,它们会呈现给相应的服务属性)。

关于docker - 是否可以使用属性文件而不是环境变量来启动/配置融合的Docker镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47434928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com