docker redis容器创建sh

#!/bin/bash

# 配置参数
CONTAINER_NAME="redis6-container"
REDIS_VERSION="6.2"
DATA_VOLUME="/opt/docker/redis-6.2/data"
LOG_VOLUME="/opt/docker/redis-6.2/logs"
CONFIG_DIR="/opt/docker/redis-6.2/conf"
CONFIG_FILE="$CONFIG_DIR/redis.conf"
HOST_PORT=6379

# 创建挂载目录
sudo mkdir -p "$DATA_VOLUME"
sudo mkdir -p "$LOG_VOLUME"
sudo mkdir -p "$CONFIG_DIR"

# 确保配置文件存在
if [ ! -f "$CONFIG_FILE" ]; then
  echo "Redis 配置文件 $CONFIG_FILE 不存在,请创建或复制一个配置文件后重新运行此脚本。"
  exit 1
fi

# 设置权限,确保 Redis 容器有权限访问这些目录
sudo chown -R 1000:1000 "$DATA_VOLUME"
sudo chown -R 1000:1000 "$LOG_VOLUME"
sudo chown -R 1000:1000 "$CONFIG_DIR"

# 运行 Redis 容器,并挂载配置文件
sudo docker run -d \
  --name "$CONTAINER_NAME" \
  -p "$HOST_PORT:6379" \
  -v "$DATA_VOLUME:/data" \
  -v "$LOG_VOLUME:/logs" \
  -v "$CONFIG_DIR:/usr/local/etc/redis" \
  -v /etc/localtime:/etc/localtime:ro \
  --restart unless-stopped \
  redis:"$REDIS_VERSION" redis-server /usr/local/etc/redis/redis.conf --appendonly yes

# 检查容器是否运行成功
if sudo docker ps | grep -q "$CONTAINER_NAME"; then
  echo "Redis 容器已成功启动。"
else
  echo "Redis 容器启动失败,请检查日志。"
  echo "要查看 Redis 容器日志,请运行以下命令:"
  echo "sudo docker logs -f $CONTAINER_NAME"
  exit 1
fi

# 提示用户日志查看命令
echo "要查看 Redis 容器日志,请运行以下命令:"
echo "sudo docker logs -f $CONTAINER_NAME"

你可能感兴趣的:(docker,redis,容器)