在 Docker 中安装 Redis 并设置volumes持久化数据,同时修改 Redis 密码的完整步骤如下:


1. 安装 Docker

如果还没有安装 Docker,可以参考以下步骤安装:

在 Alibaba Cloud Linux 上安装 Docker
# 更新系统
sudo yum update -y

# 安装 Docker 依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker
sudo yum install docker-ce docker-ce-cli containerd.io -y

# 启动 Docker 服务
sudo systemctl start docker

# 设置 Docker 开机自启
sudo systemctl enable docker

# 验证 Docker 是否安装成功
docker --version

2. 拉取 Redis 镜像

从 Docker Hub 拉取 Redis 官方镜像:

docker pull redis

3. 创建 Redis 数据目录和配置文件

为了持久化 Redis 数据和配置,需要在主机上创建目录和配置文件。

创建数据目录:
mkdir -p /data/redis
创建配置文件:
mkdir -p /data/redis/conf
touch /data/redis/conf/redis.conf

编辑配置文件/data/redis/conf/redis.conf,添加以下内容:

requirepass yourpassword
  • yourpassword:替换为你想要设置的 Redis 密码。

4. 运行 Redis 容器并设置 Volumes

使用docker run命令启动 Redis 容器,挂载数据目录和配置文件。

docker run -d \
  --name my-redis \
  -v /data/redis:/data \
  -v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
  -p 6379:6379 \
  redis \
  redis-server /usr/local/etc/redis/redis.conf
参数说明:
  • -d:后台运行容器。

  • --name my-redis:为容器指定一个名称(这里是my-redis)。

  • -v /data/redis:/data:将主机的/data/redis目录挂载到容器的/data目录,用于持久化 Redis 数据。

  • -v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf:将主机的配置文件挂载到容器中。

  • -p 6379:6379:将主机的 6379 端口映射到容器的 6379 端口(Redis 默认端口)。

  • redis:使用的镜像名称。

  • redis-server /usr/local/etc/redis/redis.conf:指定 Redis 使用挂载的配置文件启动。


5. 验证 Redis 是否运行

检查容器是否正常运行:

docker ps

你应该会看到类似以下的输出:

CONTAINER ID   IMAGE   COMMAND                  CREATED         STATUS         PORTS                    NAMES
abc123def456   redis   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   0.0.0.0:6379->6379/tcp   my-redis

6. 测试 Redis 连接和密码

使用redis-cli连接到 Redis 并验证密码。

安装redis-cli(如果未安装):
sudo yum install redis -y
连接到 Redis:
redis-cli -h 127.0.0.1 -p 6379
尝试执行命令(未认证时):
127.0.0.1:6379> set test "Hello, Redis"
(error) NOAUTH Authentication required.
使用密码认证:
127.0.0.1:6379> AUTH yourpassword
OK
再次执行命令:
127.0.0.1:6379> set test "Hello, Redis"
OK
127.0.0.1:6379> get test
"Hello, Redis"

如果认证成功并可以执行命令,说明密码已生效。


7. 修改 Redis 密码

如果需要修改 Redis 密码,可以通过以下步骤实现。

方法一:通过 Redis CLI 修改密码
  1. 进入 Redis CLI:

    redis-cli -h 127.0.0.1 -p 6379
    
  2. 使用当前密码认证:

    127.0.0.1:6379> AUTH yourpassword
    OK
    
  3. 设置新密码:

    127.0.0.1:6379> CONFIG SET requirepass newpassword
    OK
    
  4. 验证新密码:

    127.0.0.1:6379> AUTH newpassword
    OK
    
  5. 更新配置文件:
    编辑主机的配置文件/data/redis/conf/redis.conf,将requirepass的值修改为新密码:

    requirepass newpassword
    
  6. 重启容器以使配置生效:

    docker restart my-redis
    

8. 使用 Docker Compose(可选)

如果你更喜欢使用 Docker Compose 来管理容器,可以创建一个docker-compose.yml文件:

yaml

version: '3'
services:
  redis:
    image: redis
    container_name: my-redis
    ports:
      - "6379:6379"
    volumes:
      - /data/redis:/data
      - /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
    command: redis-server /usr/local/etc/redis/redis.conf

然后运行以下命令启动 Redis:

docker-compose up -d
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐