下载镜像

docker pull docker.io/zookeeper:3.4.13

创建目录及文件

mkdir -p /mydata/zookeeper/conf
mkdir -p /mydata/zookeeper/data
mkdir -p /mydata/zookeeper/log
cd /mydata/zookeeper/conf
touch zoo.cfg
vi zoo.cfg

zoo.cfg

clientPort=2181
# 注意zoo.cfg(容器里)不要指定/mydata/zookeeper前缀
# 否则会报mkdir: can't create directory '/mydata/': Permission denied
# 因为启动的时候,容器里指定了/data
# dataDir=/mydata/zookeeper/data
# dataLogDir=/mydata/zookeeper/log

dataDir=/data
dataLogDir=/data/log
tickTime=2000
initLimit=5
syncLimit=2
maxClientCnxns=60

启动容器

docker run -p 22181:2181 -v /mydata/zookeeper/data:/data -v /mydata/zookeeper/conf:/conf --name zookeeper -d docker.io/zookeeper:3.4.13