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

发布于:2025-02-10 ⋅ 阅读:(19) ⋅ 点赞:(0)

目录

1、安装Docker及可视化工具

2、创建挂载目录

3、创建Zookeeper网络

4、命令运行容器

5、Compose运行容器

6、查看运行状态

7、验证是否正常运行


1、安装Docker及可视化工具

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

2、创建挂载目录

# 创建宿主机Zookeeper挂载目录
sudo mkdir -p /data/docker/zookeeper

3、创建Zookeeper网络

Docker Network 是 Docker 引擎提供的一项核心功能,专门用于管理 Docker 容器之间以及容器与外部网络之间的通信。通过 Docker Network,用户可以灵活地定义和配置容器的网络环境,确保容器能够高效地相互通信,同时也能与外部网络无缝连接。这种网络管理机制极大地简化了容器化应用的部署和运维,尤其是在需要多容器协作的复杂场景中。

为了实现与 Zookeeper 容器的稳定通信,这里创建了一个名为 zk-net 的 Docker 网络。该网络采用桥接模式(bridge),能够为容器提供独立的网络命名空间,同时保证网络性能的高效性。所有与 Zookeeper 相关的容器都会被加入到这个网络中,从而确保它们能够直接通信,避免了因网络配置不当导致的通信问题。创建网络的命令如下:

# 创建zookeeper网络
sudo docker network create -d bridge zk-net

通过这种方式,Zookeeper 及其相关服务可以在一个隔离且稳定的网络环境中运行,既保证了安全性,又提升了通信效率。 

4、命令运行容器

# 拉取镜像
sudo docker pull zookeeper:3.8.0
 
# 运行容器
sudo docker run --privileged=true \
--restart=always --net=zk-net \
-d --name=zookeeper \
-v /data/docker/zookeeper/data:/data \
-v /data/docker/zookeeper/log:/datalog \
-p 2181:2181 \
-e TZ=Asia/Shanghai \
-e ZOO_MY_ID=1 \
zookeeper:3.8.0

参数解析如下:

参数 参数说明
docker run 运行 Docker 容器
-d 容器将在后台运行,而不是占用当前的终端会话
--privileged=true Docker会赋予容器几乎与宿主机相同的权限
--net=zk-net 网络模式配置,使用创建的 zk-net 网络,方便容器间通讯
--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博客 

5、Compose运行容器

创建docker-compose.yml文件

sudo touch /data/docker/zookeeper/docker-compose.yml

文件内容如下:

version: '3'
 
services:
  zookeeper:
    image: zookeeper:3.8.0
    container_name: zookeeper
    restart: always
    ports:
      - "2181:2181"
    environment:
      - TZ=Asia/Shanghai
      - ZOO_MY_ID=1
    volumes:
      - /data/docker/zookeeper/data:/data
      - /data/docker/zookeeper/log:/datalog
    privileged: true
    networks: 
      - zk-net

运行容器

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

6、查看运行状态

7、验证是否正常运行

首先,进入 Zookeeper 容器的 shell

docker exec -it zookeeper /bin/bash

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

zkCli.sh -server localhost:2181


网站公告

今日签到

点亮在社区的每一天
去签到