前言
在企业级应用中,Redis作为一个高性能的内存数据库,常常被用来进行缓存、会话存储等任务。为了简化Redis的部署和管理,使用Docker和Docker Compose来进行容器化部署是一种非常有效的方法。本文将详细介绍如何在CentOS环境下使用Docker和Docker Compose部署一个独立的Redis实例,包括从创建目录、配置文件到启动容器的完整过程。
环境
- Docker 25.0.5
- docker-compose v2.25.0
部署步骤
脚本内容
#!/bin/bash
################################################################
#########################请先进行参数设置!#######################
################################################################
# 节点端口
port=6390
# redis版本
version=7.0.12
# 安装路径
path=/home/lbs/software/redis/redis-standalone
# 认证密码
passwd=Lbs@2024
# 最大内存限制
maxmemory=2g
# 过期策略
maxmemory-policy=allkeys-lru
echo -e "############################创建目录与配置文件############################\n"
mkdir -p ${path}/node-${port}/conf
cat << EOF > ${path}/node-${port}/conf/redis.conf
port ${port}
requirepass ${passwd}
bind 0.0.0.0
protected-mode no
daemonize no
appendonly yes
maxmemory ${maxmemory}
maxmemory-policy ${maxmemory-policy}
EOF
echo -e "############################创建docker-compose.yml文件############################\n"
cat << EOF > ${path}/docker-compose.yml
version: '3.8'
services:
redis-${port}:
image: redis:${version}
container_name: redis-${port}
ports:
- "${port}:${port}"
volumes:
- ${path}/node-${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf
- ${path}/node-${port}/data:/data
restart: always
command: redis-server /usr/local/etc/redis/redis.conf
EOF
echo -e "############################启动容器############################\n"
docker-compose -f ${path}/docker-compose.yml up -d
使用方法
- 将上述脚本保存为
deploy_redis_standalone.sh
文件。 - 调整脚本最开始的部分的参数设置,如版本、路径、密码、端口等
- 给予执行权限并运行
chmod +x deploy_redis_standalone.sh && ./deploy_redis_standalone.sh
结果验证
首先需要进入脚本中参数设置的安装路径中
-
验证目录层级
[lbs@master redis-standalone]$ tree -L 3 . ├── docker-compose.yml └── node-6390 ├── conf │ └── redis.conf └── data └── appendonlydir
-
验证容器状态
[lbs@master redis-standalone]$ docker-compose ps -a WARN[0000] /home/lbs/software/redis/redis-standalone/docker-compose.yml: `version` is obsolete NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS redis-6390 redis:7.0.12 "docker-entrypoint.s…" redis-6390 10 seconds ago Up 9 seconds 6379/tcp, 0.0.0.0:6390->6390/tcp, :::6390->6390/tcp
-
验证节点状态
[lbs@master redis-standalone]$ docker-compose exec redis-6390 redis-cli -a Lbs@2024 -p 6390 ping WARN[0000] /home/lbs/software/redis/standalone/docker-compose.yml: `version` is obsolete Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. PONG
结语
通过本文的步骤,你应该已经成功在CentOS环境下使用Docker和Docker Compose部署了一个独立的Redis实例。使用这种方法,可以极大地简化Redis的安装和配置过程,同时也便于后续的维护和管理。如果在实际操作过程中遇到任何问题,欢迎在评论区交流讨论。希望这篇文章对你有所帮助,祝你在Redis的使用上取得更大的成功。