Docker 安装 Redis 容器 (完整版)

本文详细介绍了如何在Docker中下载并配置Redis镜像,包括使用`docker pull`命令获取不同版本,创建配置文件,启动容器,并进行基本操作。重点讲解了容器启动时的挂载配置和安全设置。

Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。

Docker 镜像仓库

Docker 安装Redis

1、寻找Redis镜像

在Docker镜像仓库寻找Redis镜像

Redis官网镜像

Docker 下载Redis镜像的命令

下载Reids镜像的命令

2、下载Redis镜像

命令

描述

docker pull redis

下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest )

docker pull redis:xxx

下载指定版本的Redis镜像 (xxx指具体版本号)

下载指定版本的Redis

检查当前所有Docker下载的镜像

 docker images

3、创建Redis配置文件

启动前需要先创建Redis外部挂载的配置文件 ( /mydata/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 .

## 创建目录
mkdir -p /mydata/redis/conf
## 创建文件
touch /mydata/redis/conf/redis.conf

4、创建Redis容器并启动

Docker 创建 Redis 容器命令

docker run 

-d
–name redis
-p 6379:6379
–restart unless-stopped
-v /mydata/redis/data:/data
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
redis-server /etc/redis/redis.conf
redis:buster

命令

描述

–name redis

启动容器的名字

-d

后台运行

-p 6379:6379

将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口

–restart unless-stopped

容器重启策略

-v /mydata/redis/data:/data

将Redis储存文件夹挂在到主机

-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf

将配置文件夹挂在到主机

-d redis:buster

启动哪个版本的 Redis (本地镜像的版本)

redis-server /etc/redis/redis.conf

Redis 容器中设置 redis-server 每次启动读取 /etc/redis/redis.conf 这个配置为准

shell 命令换行

注意 : 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是mysql容器配置 。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。

5、查看Redis是否运行

### 查看Docker运行中的容器
docker ps 
docker ps | grep redis

查看Redis是否运行

6、进入Redis容器

### 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name bella
### 查看 key 为 name 的 value 值
> get name


### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli
> 分开命令

分开命令

> 合并命令

合并命令

7、退出容器

exit

8、Redis 配置文件修改

修改 /mydata/redis/conf/redis.conf

命令

功能

appendonly yes

启动Redis持久化功能 (默认 no , 所有信息都存储在内存 [重启丢失] 。 设置为 yes , 将存储在硬盘 [重启还在])

protected-mode no

关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了)

bind 0.0.0.0

设置所有IP都可以访问 (docker貌似自动开启了)

requirepass 密码

设置密码

9、进入有密码的Redis控制台

如果你设置了密码,需要通过如下命令进入Redis控制台

## 进入Redis容器
docker exec -it redis /bin/bash

## 通过密码进入Redis控制台
redis-cli -h 127.0.0.1 -p 6379 -a 123456

通过密码进入Redis控制台

Docker 中的 Redis 容器配置密码并修改 `redis.conf` 文件涉及以下几个关键步骤: 1. **准备 redis.conf 文件** 首先,确保本地目录中存在 Redis 配置文件 `redis.conf`。可以通过官方 GitHub 仓库获取对应版本的配置文件,例如 Redis 6.2 版本的配置文件: ``` wget https://raw.githubusercontent.com/redis/redis/6.2/redis.conf ``` 然后,使用文本编辑器打开该文件,找到并修改 `requirepass` 参数以设置密码。例如,设置密码为 `mysecretpassword`: ``` requirepass mysecretpassword ``` 保存修改后的配置文件,确保其路径为 `/usr/local/redis/conf/redis.conf` 或者根据容器映射需求调整路径[^3]。 2. **运行 Redis 容器并映射配置文件** 使用 `docker run` 命令启动 Redis 容器,并将本地的 `redis.conf` 文件挂载到容器中。以下是一个完整的命令示例: ``` docker run --name redis \ -p 6379:6379 \ -v /usr/local/redis/conf:/usr/local/etc/redis \ -v /usr/local/redis/data:/data \ -d redis:6.2.7 \ redis-server /usr/local/etc/redis/redis.conf ``` 上述命令将本地的 `/usr/local/redis/conf` 目录挂载到容器的 `/usr/local/etc/redis` 目录,并指定 Redis 容器使用该目录下的 `redis.conf` 文件启动服务[^3]。 3. **验证密码设置** 启动容器后,可以使用 `docker exec` 命令进入容器内部,并通过 `redis-cli` 工具测试密码是否生效: ``` docker exec -it redis redis-cli ``` 在 Redis 客户端中执行以下命令验证密码: ``` AUTH mysecretpassword ``` 如果返回 `OK`,则表示密码已正确设置并生效。 4. **持久化数据与配置管理** 为了确保 Redis 容器重启后数据和配置不会丢失,需要将 Redis 数据目录(如 `/usr/local/redis/data`)挂载到容器的 `/data` 目录。这样,Redis 的持久化文件(如 `dump.rdb` 和 `appendonly.aof`)将存储在宿主机上,确保数据持久化[^1]。 5. **重启与自动启动配置** 可以使用 `docker update` 命令配置 Redis 容器在系统重启后自动启动: ``` docker update --restart=always redis ``` 通过上述步骤,可以成功为 Docker 中的 Redis 容器配置密码并修改 `redis.conf` 文件。确保所有配置文件路径和容器命令与实际环境一致,以避免配置错误。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值