docker compose之redis
一、docker-compose.yml
version: '3.8'
services:
redis:
image: redis:8.2
container_name: redis-server
ports:
- "6379:6379"
- "6380:6380" # 如果需要额外端口,比如用于集群
volumes:
- ./data:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
environment:
- TZ=Asia/Shanghai
- REDIS_PASSWORD=${REDIS_PASSWORD} # 实际使用时请设置强密码
command: redis-server /usr/local/etc/redis/redis.conf
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
interval: 10s
timeout: 5s
retries: 3
restart: unless-stopped
networks:
- redis-net
ulimits:
nofile:
soft: 65535
hard: 65535
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
redis-net:
driver: bridge
二、redis.conf
# 持久化配置
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error no
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /data
# 网络配置
bind 0.0.0.0
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
# 安全设置
requirepass ${REDIS_PASSWORD}
maxclients 10000
maxmemory 2gb
maxmemory-policy allkeys-lru
# 日志配置
loglevel notice
logfile "/data/redis.log"
三、设置环境变量(可选,推荐使用.env文件)
echo "REDIS_PASSWORD=your_strong_password_here" > .env
四、验证服务
docker exec -it redis-server sh
cat /usr/local/etc/redis/redis.conf | grep requirepass
docker compose exec redis redis-cli -a your_strong_password_here ping
# 正确的连接方式(使用您设置的密码)
docker compose exec redis redis-cli -a (auth_password) ping
# 或者不使用-a参数,连接后使用AUTH命令
docker compose exec redis redis-cli
127.0.0.1:6379> auth redis密码
OK
127.0.0.1:6379> ping
PONG
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 软件从业者Hort
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果