保姆级教程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
相关推荐
Msshu1236 小时前
Type-C 多协议快充诱骗电压芯片XSP28 芯片脚耐压高达21V 电路简单 性价比高
mongodb·zookeeper·rabbitmq·flume·memcache
数翊科技6 小时前
深度解析 HexaDB分布式 DDL 的全局一致性
分布式
DigitalOcean9 小时前
DigitalOcean容器注册表推出多注册表支持功能
容器
Tony Bai9 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构
江湖有缘11 小时前
Jump个人仪表盘Docker化部署教程:从0到 搭建专属导航页
运维·docker·容器
Lam㊣11 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
挖土机_00812 小时前
Kubernetes 1.35 原地扩容(In-Place Pod Resize)完整解析:机制、差异与实战示例
docker·kubernetes
左直拳13 小时前
将c++程序部署到docker
开发语言·c++·docker
五仁火烧13 小时前
Vue3 项目的默认端口行为
服务器·vue.js·nginx·容器·vue
Anyexyz14 小时前
【更新】境内 Docker 镜像状态监控——配置生成,一键复制!
运维·docker·容器