可以,CentOS 完全可以容器化 ZooKeeper。下面从“是否可行”“常见做法”“注意事项”三个角度说明。
✅ 完全可行
CentOS 本身是一个 Linux 发行版,只要满足:
就可以在 CentOS 上:
docker run -d \
--name zookeeper \
-p 2181:2181 \
zookeeper:3.9
适用于:
version: '3'
services:
zk1:
image: zookeeper:3.9
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888
ports:
- "2181:2181"
FROM centos:7
RUN yum install -y java-1.8.0-openjdk wget && \
wget https://archive.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz && \
tar -xzf apache-zookeeper-3.7.1-bin.tar.gz -C /opt
ENV ZOOKEEPER_HOME=/opt/apache-zookeeper-3.7.1-bin
EXPOSE 2181 2888 3888
CMD ["/opt/apache-zookeeper-3.7.1-bin/bin/zkServer.sh", "start-foreground"]
不推荐从 CentOS 基础镜像从头搭,除非有合规/内网要求
CentOS 8+ 推荐使用 Podman:
podman run -d --name zk -p 2181:2181 zookeeper
-v /data/zookeeper:/data
否则容器删除数据丢失
ZOO_MY_ID + ZOO_SERVERSlocalhost--memory=1g --cpus=1
✅ CentOS 可以很好容器化 ZooKeeper
✅ 推荐直接用官方镜像
✅ 集群注意 ID 和端口映射
✅ 生产环境务必持久化数据
如果你需要:
可以继续问我。