gpt4 book ai didi

apache-zookeeper - 如何在插入种子数据的情况下对 Apache ZooKeeper 进行 dockerize?

转载 作者:行者123 更新时间:2023-12-04 07:27:11 25 4
gpt4 key购买 nike

我想使用 Docker 运行 Apache Zookeeper,并插入种子数据(用于测试配置)。我尝试使用如下启动脚本:

文件

FROM zookeeper:latest

ADD startup.sh .
EXPOSE 2181
CMD ["./startup.sh"]

启动文件
#!/bin/sh

./bin/zkCli.sh -server localhost:2181 create /foo ""
./bin/zkCli.sh -server localhost:2181 create /foo/bar ""

./bin/zkServer.sh start-foreground

但这不起作用,因为我试图在服务器启动并运行之前插入数据。

如何在启动时对具有种子数据的 ZooKeeper 服务器进行 dockerize?

最佳答案

您可以利用 docker-compose为了这。
docker-compose.yml

version: '2'

services:
zookeeper:
image: zookeeper:latest
restart: always
ports:
- "2181:2181"
zookeeper_setup:
image: zookeeper:latest
depends_on:
- zookeeper
links:
- zookeeper
command: sh /setup/startup.sh
volumes:
- ./:/setup

Make sure you remove ./bin/zkServer.sh start-foreground from startup.sh and replace localhost with zookeeper in startup.sh.



然后运行 ​​ docker-compose up所以它会首先启动 zookeeper服务,然后它会运行 zookeeper_setup带有修改命令的服务。 (确保在 startup.sh 服务中正确挂载了 zookeerper_setup 目录)

zookeeper需要更多时间启动,您可以添加 sleep 5 (或更多)在 startup.sh .

下次不需要再配置的时候用 startup.sh ,您可以运行 docker-compose up zookeeper启动预配置 zookeeper服务。

关于apache-zookeeper - 如何在插入种子数据的情况下对 Apache ZooKeeper 进行 dockerize?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41424007/

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