docker 离线安装zookeeper
时间: 2023-05-26 16:04:33 浏览: 81
1. 下载zookeeper二进制包:
首先需要从zookeeper官网(https://zookeeper.apache.org/releases.html)下载zookeeper的二进制包。 推荐下载最新的稳定版本。
2. 准备Dockerfile:
在本地创建一个Dockerfile文件,用于构建zookeeper的Docker镜像。Dockerfile文件内容如下:
```
FROM java:8
COPY zookeeper-3.5.5-bin.tar.gz /opt
RUN tar -xvzf /opt/zookeeper-3.5.5-bin.tar.gz -C /opt \
&& mv /opt/zookeeper-3.5.5-bin /opt/zookeeper \
&& rm -rf /opt/zookeeper-3.5.5-bin.tar.gz
ENV ZOOKEEPER_HOME /opt/zookeeper
ENV PATH $PATH:$ZOOKEEPER_HOME/bin
ADD init.sh /init.sh
RUN chmod +x /init.sh
CMD ["/init.sh"]
```
3. 编写init.sh脚本:
接下来我们需要编写init.sh脚本,该脚本主要用于启动zookeeper。在本地创建一个init.sh文件,内容如下:
```
#!/bin/sh
$ZOOKEEPER_HOME/bin/zkServer.sh start-foreground
```
4. 准备文件:
将之前下载的zookeeper二进制包、Dockerfile、init.sh文件放在同一个目录下。
5. 构建Docker镜像:
在命令行中进入该目录,执行如下命令构建Docker镜像:
```
docker build -t myzookeeper .
```
6. 运行Docker容器:
Docker镜像构建完成后,我们就可以运行zookeeper容器了。假设我们将zookeeper数据存放在本地目录“/data/zookeeper”中,执行如下命令启动zookeeper容器:
```
docker run -d --name myzookeeper -p 2181:2181 -v /data/zookeeper:/tmp/zookeeper myzookeeper
```
上面的命令中,我们将Docker容器内的"/tmp/zookeeper"目录挂载到本地目录"/data/zookeeper"中,以便持久化zookeeper数据。 同时,Docker容器会将zookeeper的2181端口映射到主机的2181端口,以便其他应用可以访问zookeeper。
至此,我们就完成了zookeeper的离线安装和Docker化运行。