docker制作zookeeper镜像

制作 Zookeeper 镜像的步骤通常包括以下几个主要步骤:

  1. 准备 Dockerfile:编写 Dockerfile 文件,定义如何构建 Zookeeper 镜像。

  2. 构建镜像:使用 Dockerfile 构建 Zookeeper 镜像。

  3. 运行容器:运行基于构建的镜像创建的容器,并测试其功能。

下面是详细的步骤介绍:

1. 准备 Dockerfile

在你的项目目录中创建一个名为 Dockerfile 的文件,并在其中编写以下内容:

Dockerfile 复制代码
# 使用官方的OpenJDK 8作为基础镜像
FROM openjdk:8-jre-alpine

# 设置环境变量
ENV ZOOKEEPER_VERSION 3.6.3
ENV ZOOKEEPER_HOME /opt/zookeeper

# 下载并解压Zookeeper
RUN wget -q "https://downloads.apache.org/zookeeper/zookeeper-$ZOOKEEPER_VERSION/apache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz" -O /tmp/zookeeper.tar.gz && \
    tar -xf /tmp/zookeeper.tar.gz -C /opt && \
    mv /opt/apache-zookeeper-$ZOOKEEPER_VERSION-bin $ZOOKEEPER_HOME && \
    rm -f /tmp/zookeeper.tar.gz

# 复制配置文件
COPY zoo.cfg $ZOOKEEPER_HOME/conf/

# 暴露Zookeeper的端口
EXPOSE 2181 2888 3888

# 定义启动命令
CMD ["sh", "-c", "$ZOOKEEPER_HOME/bin/zkServer.sh start-foreground"]

在相同的目录中,你还需要准备一个 zoo.cfg 文件,用于配置 Zookeeper 的相关参数。示例配置文件内容如下:

conf 复制代码
tickTime=2000
dataDir=/opt/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

2. 构建镜像

在终端中,进入到包含 Dockerfilezoo.cfg 文件的目录,然后运行以下命令构建镜像:

bash 复制代码
docker build -t my-zookeeper .

这将根据 Dockerfile 中的指令构建一个名为 my-zookeeper 的镜像。

3. 运行容器

运行以下命令启动一个基于刚刚构建的镜像的 Zookeeper 容器:

bash 复制代码
docker run -d --name my-zookeeper \
  -p 2181:2181 \
  -p 2888:2888 \
  -p 3888:3888 \
  my-zookeeper

这将创建一个名为 my-zookeeper 的容器,并将 Zookeeper 的端口映射到主机上,可以通过这些端口访问 Zookeeper 服务。

测试

可以使用 Zookeeper 客户端工具(例如 zkCli.sh)连接到运行的 Zookeeper 容器,验证其功能是否正常。例如:

bash 复制代码
docker exec -it my-zookeeper /opt/zookeeper/bin/zkCli.sh -server localhost:2181

这样就可以连接到运行的 Zookeeper 服务,并进行一些操作来验证其功能是否正常。

这些步骤应该可以帮助你制作并运行一个基本的 Zookeeper 镜像。根据实际需求,你可能需要进一步调整配置和参数。

相关推荐
BullSmall10 分钟前
Sonarqube9.9 docker 镜像启动后 conf 下的配置文件没有了
docker·容器·eureka
ruofu3316 分钟前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker
spider_xcxc1 小时前
Docker 实战:容器化多服务应用,Dockerfile 与 Compose 配置全解析
docker·云原生·eureka·虚拟化·容器化
晚风吹长发2 小时前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
ShiXZ2132 小时前
Docker Compose 安装与配置指南
运维·docker·容器
BullSmall3 小时前
Anolis OS 8.10 Docker 部署 SonarQube 9.9 完整教程
运维·docker·容器
java_logo7 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
生活爱好者!20 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo20 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客20 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv