机器清单
129:6.2.13
134:6.2.13/7.0.2
#备份旧容器
# 129 服务器
docker exec redis6.2.13 redis-cli -a Cjxx-2023 SAVE
# 134 服务器
docker exec redis6.2.13 redis-cli -a Cjxx-2023 SAVE
docker exec redis7.0.2 redis-cli -a TaiYuan135 SAVE
cp -a /home/data/taiyuan/redis6.2.13/ /home/data/taiyuan/redis6.2.13-new/
cp -a /home/data/taiyuan/redis7.0.2/ /home/data/taiyuan/redis7.0.2-new/
第一步:修改配置文件(sed 命令)
# Redis 6.2.13 - 修改日志部分配置
# 修改 loglevel 为 notice
sed -i 's/^loglevel .*/loglevel notice/g' \
/home/data/taiyuan/redis6.2.13-new/conf/redis.conf
#指定logfile文件
sed -i 's|^logfile ""|logfile "/var/log/redis/redis.log"|g' \
/home/data/taiyuan/redis6.2.13-new/conf/redis.conf
#修改默认禁止远程连接为允许
sed -i 's|^bind 127.0.0.1|bind 0.0.0.0|g' /home/data/taiyuan/redis6.2.13-new/conf/redis.conf
sed -i 's|^protected-mode yes|protected-mode no|g' /home/data/taiyuan/redis6.2.13-new/conf/redis.conf
#cat conf/redis.conf | grep -E "^bind|^protected-mode"
#bind 0.0.0.0
#protected-mode no
# 验证
grep -E "^loglevel|^logfile" /home/data/taiyuan/redis6.2.13-new/conf/redis.conf
# Redis 7.0.2 - 修改日志部分配置
# 修改 loglevel 为 notice
sed -i 's/^loglevel .*/loglevel notice/g' \
/home/data/taiyuan/redis7.0.2-new/conf/redis.conf
sed -i 's|^logfile ""|logfile "/var/log/redis/redis.log"|g' \
/home/data/taiyuan/redis7.0.2-new/conf/redis.conf
# 验证
grep -E "^loglevel|^logfile" /home/data/taiyuan/redis7.0.2-new/conf/redis.conf
第二步:创建宿主机存放日志的目录
# 创建 Redis 6.2.13 日志目录
mkdir -p /home/data/taiyuan/redis6.2.13-new/logs
# 设置权限
chmod 777 /home/data/taiyuan/redis6.2.13-new/logs
# 创建 Redis 7.0.2 日志目录
mkdir -p /home/data/taiyuan/redis7.0.2-new/logs
# 设置权限
chmod 777 /home/data/taiyuan/redis7.0.2-new/logs
第三步:验证修改
# 验证 Redis 6.2.13 配置
echo "=== Redis 6.2.13 logfile 配置 ==="
grep -E "^loglevel|^logfile" /home/data/taiyuan/redis6.2.13-new/conf/redis.conf
# 验证 Redis 7.0.2 配置
echo "=== Redis 7.0.2 logfile 配置 ==="
grep -E "^loglevel|^logfile" /home/data/taiyuan/redis7.0.2-new/conf/redis.conf
由于启动命令中没有指定配置文件,所以即使修改了挂载的配置文件也不会生效日志配置,只能重新创建容器(明确指定配置文件)
"Args": [
"--requirepass",
"Cjxx-2023"
第四步:重建容器
#停止并删除旧容器
# 1. 停止容器
#docker stop redis6.2.13
# 2. 删除容器
#docker rm redis6.2.13
# 3. 验证容器已删除
#docker ps -a | grep redis6.2.13
#创建新容器(使用配置文件启动)
129:
# Redis 6.2.13
docker run -d \
--name redis6.2.13-new \
--restart unless-stopped \
-p 6381:6379 \
-v /home/data/taiyuan/redis6.2.13-new/conf/redis.conf:/etc/redis/redis.conf \
-v /home/data/taiyuan/redis6.2.13-new/data:/data \
-v /home/data/taiyuan/redis6.2.13-new/logs:/var/log/redis \
redis:6.2.13 \
redis-server /etc/redis/redis.conf --requirepass Cjxx-2023
134:
# Redis 6.2.13
docker run -d \
--name redis6.2.13-new \
--restart unless-stopped \
-p 6383:6379 \
-v /home/data/taiyuan/redis6.2.13-new/conf/redis.conf:/etc/redis/redis.conf \
-v /home/data/taiyuan/redis6.2.13-new/data:/data \
-v /home/data/taiyuan/redis6.2.13-new/logs:/var/log/redis \
redis:6.2.13 \
redis-server /etc/redis/redis.conf --requirepass Cjxx-2023
# Redis 7.0.2
docker run -d \
--name redis7.0.2-new \
--restart unless-stopped \
-p 6382:6379 \
-v /home/data/taiyuan/redis7.0.2-new/conf/redis.conf:/etc/redis/redis.conf \
-v /home/data/taiyuan/redis7.0.2-new/data:/data \
-v /home/data/taiyuan/redis7.0.2-new/logs:/var/log/redis \
redis-local:7.0.2 \
redis-server /etc/redis/redis.conf
第五步:重建挂载后验证日志是否正常写入
# Redis 6.2.13
#验证6.2.13
docker exec -it redis6.2.13-new redis-cli -a Cjxx-2023 CONFIG GET loglevel
docker exec -it redis6.2.13-new redis-cli -a Cjxx-2023 CONFIG GET logfile
#验证7.0.2
docker exec redis7.0.2-new redis-cli -a TaiYuan135 CONFIG GET loglevel
# 检查 Redis 6.2.13 日志
docker exec redis6.2.13-new bash
tail -f /var/log/redis.log
# 检查 Redis 7.0.2 日志
docker exec redis7.0.2-new bash
tail -f /var/log/redis.log
