ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
在 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 ~~~ * * * ### 总结 通过以上步骤,你已经成功在 Docker 中安装了 Redis,设置了`volumes`持久化数据,并修改了 Redis 密码。数据会存储在主机上的`/data/redis`目录中,密码配置也会持久化在`/data/redis/conf/redis.conf`文件中,即使容器重启,配置和数据也不会丢失。