保姆级教程Docker部署Zookeeper官方镜像

目录

1、安装Docker及可视化工具

2、创建挂载目录

3、运行Zookeeper容器

4、Compose运行Zookeeper容器

5、查看Zookeeper运行状态

6、验证Zookeeper是否正常运行


1、安装Docker及可视化工具

Docker及可视化工具的安装可参考:Ubuntu上安装 Docker及可视化管理工具

2、创建挂载目录

bash 复制代码
# 创建宿主机Zookeeper挂载目录
sudo mkdir -p /data/docker/zookeeper

3、运行Zookeeper容器

bash 复制代码
# 拉取镜像
sudo docker pull zookeeper:3.8.0
 
# 运行容器
sudo docker run --privileged=true \
--restart=always --net=bridge \
-d --name=zookeeper \
-v /data/docker/zookeeper/data:/data \
-v /data/docker/zookeeper/log:/datalog \
-p 2181:2181 \
-e ZOO_MY_ID=1 \
zookeeper:3.8.0

参数解析如下:

|----------------------------------------|-------------------------------------|
| 参数 | 参数说明 |
| docker run | 运行 Docker 容器 |
| -d | 容器将在后台运行,而不是占用当前的终端会话 |
| --privileged=true | Docker会赋予容器几乎与宿主机相同的权限 |
| --net=bridge | 网络模式配置,默认是bridge,bridge表示使用容器内部配置网络 |
| --name zookeeper | 给容器命名为 zookeeper,以便于管理和引用该容器 |
| --restart=always | 设置容器重启策略,如 always、on-failure等 |
| -p 2181:2181 | 映射 zookeeper 接收客户端连接的端口 |
| -e ZOO_MY_ID=1 | 设置 zookeeper 实例的唯一 ID |
| -v /data/docker/zookeeper/data:/data | 将主机目录挂载到容器内,用于数据持久化 |
| -v /data/docker/zookeeper/log:/datalog | 将主机目录挂载到容器内,用于日志文件持久化 |

容器运行参数详解参考:Docker容器运行常用参数详解-CSDN博客

4、Compose运行Zookeeper容器

创建docker-compose.yml文件

bash 复制代码
sudo touch /data/docker/zookeeper/docker-compose.yml

文件内容如下:

bash 复制代码
version: '3'
 
services:
  zookeeper:
    image: zookeeper:3.8.0
    container_name: zookeeper
    restart: always
    ports:
      - "2181:2181"
    environment:
      ZOO_MY_ID: 1
    volumes:
      - /data/docker/zookeeper/data:/data
      - /data/docker/zookeeper/log:/datalog
    privileged: true
    network_mode: "bridge"

运行容器

bash 复制代码
#-f:调用文件,-d:开启守护进程
sudo docker compose -f /data/docker/zookeeper/docker-compose.yml up -d

5、查看Zookeeper运行状态

6、验证Zookeeper是否正常运行

首先,进入 Zookeeper 容器的 shell

bash 复制代码
docker exec -it zookeeper /bin/bash

然后,使用 Zookeeper 的命令行工具连接到 Zookeeper 服务器

bash 复制代码
zkCli.sh -server localhost:2181
相关推荐
蝎子莱莱爱打怪13 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
小p3 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p4 天前
docker学习: 1. docker基本使用
docker
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter5 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka