Docker 安装 Redis
下载 redis 镜像
访问 Redis 镜像库地址
可以通过 Sort by 查看其他版本的 Redis,默认是最新版本 redis:latest。
命令 | 描述 |
---|---|
docker pull redis | 下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest ) |
docker pull redis:xxx | 下载指定版本的Redis镜像 (xxx指具体版本号) |
拉取官方的最新版本的镜像:
docker pull redis:latest
Redis配置文件
先创建一个文件夹(挂载目录)用来存放redis外部挂载的配置文件、数据等,将此目录中的文件或文件夹覆盖掉容器内部的文件或文件夹。
配置宿主机(Linux)环境
## 创建目录
cd /opt
mkdir redis/
cd redis
mkdir data
去 官网 下载想要安装版本的 redis,下载完成后解压找到配置文件 redis.conf,复制到刚才创建的目录中。
配置redis.conf文件
主要是为了redis的可视化工具能够连接上用docker跑起来的redis服务。
将redis.conf文件进行编辑:
- 注释掉 bind 127.0.0.1
默认是开启,注释后允许远程连接 - 关闭安全模式 protected-mode no
默认是开启 yes - 配置redis连接密码 requirepass foobared
默认注释关闭,开启后不修改密码为foobared
命令 | 功能 |
---|---|
appendonly yes | 启动Redis持久化功能 (默认 no , 所有信息都存储在内存 [重启丢失] 。 设置为 yes , 将存储在硬盘 [重启还在]) |
protected-mode no | 关闭protected-mode模式,此时外部网络可以直接访问 |
bind 0.0.0.0 | 设置所有IP都可以访问 |
requirepass 密码 | 设置密码 |
创建Redis容器并启动
载宿主机配置文件启动:
docker run \
-d \
--name redis \
-p 6379:6379 \
--restart unless-stopped \
-v /opt/redis/data:/data \
-v /opt/redis/redis.conf:/etc/redis/redis.conf \
redis:latest \
redis-server /etc/redis/redis.conf
命令 | 描述 |
---|---|
-d | 后台运行 |
--name redis | 启动容器的名字 |
-p 6379:6379 | 将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口 |
--restart unless-stopped | 容器重启策略 |
-v | 文件映射 宿主机文件:docker文件 |
-v /opt/redis/data:/data | 将Redis储存文件夹挂在到主机 |
-v /opt/redis/redis.conf:/etc/redis/redis.conf | 将配置文件夹挂在到主机 |
redis:latest | 启动哪个版本的 Redis (本地镜像的版本) |
redis-server /etc/redis/redis.conf | 服务以指定配置文件启动 |
\ | shell 命令换行 |
或
docker run -d --name redis -p 6379:6379 --restart unless-stopped -v /opt/redis/data:/data -v /opt/redis/redis.conf:/etc/redis/redis.conf redis:latest redis-server /etc/redis/redis.conf
不挂载宿主机配置文件启动:
docker run --name redis -p 6379:6379 -d redis:latest --requirepass "foobared" --bind 0.0.0.0 --protected-mode no --appendonly yes
docker命令
- 查看Redis是否运行
# docker ps
docker ps | grep redis
- 查看容器日志命令
# docker logs container_name
docker logs redis
- 进入Redis容器
# 进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
# 进入 Redis 控制台
redis-cli
直接进入Redis控制台 (上面两个命令的结合):
docker exec -it redis redis-cli
- 退出容器
exit
- 进入有密码的Redis控制台
# 进入Redis容器
docker exec -it redis /bin/bash
# 通过密码进入Redis控制台
redis-cli -h 127.0.0.1 -p 6379 -a foobared
或
docker exec -it redis redis-cli
# 输入密码进行验证
auth 你的密码