高效性
原子性
稳定性:持久化
Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。
1、寻找Redis镜像
> 在Docker镜像仓库寻找Redis镜像
Redis官网镜像
链接: Docker官网.
Docker 下载Redis镜像的命令 docker pull redis:5.0
2、下载Redis镜像
命令 | 描述 |
---|---|
docker pull redis | 下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest ) |
docker pull redis:xxx | 下载指定版本的Redis镜像 (xxx指具体版本号) |
检查当前所有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
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控制台
docker exec -it redis /bin/bash ## 通过密码进入Redis控制台 redis-cli -h 127.0.0.1 -p 6379 -a 123456 通过密码进入Redis控制台
每次docker启动都要来手动启动下redis岂不是很麻烦,来吧,配置自启动
//让其自动启动 docker重启后、redis会自动启动 docker update redis --restart=always
说明Auth选项:如果设置了密码就填上密码
如果么有就空着
>config set requirepass 123456 >OK