1. 查找Docker Hub上的redis镜像

docker search  redis

2. 拉取官方的镜像 默认为最新的

docker pull  redis
# 可以指定版本号:不加版本号默认获取最新版本
docker pull redis:6.0.6

3.查看镜像列表

查看本地已下载镜像

docker images

4. 配置data、conf

Redis是有状态的,重启容器后数据和配置文件将清空,所以我将采用本地文件挂载方式

1. 宿主机创建文件夹

#data 数据目录
#conf 放置redis.conf配置文件
mkdir -p /usr/local/redis/data
mkdir -p /usr/local/redis/conf

2. 官网下载redis.conf配置文件

下载完成后将配置文件放置到conf目录下并修改

vim /usr/local/redis/conf/redis.conf

3. 修改 redis.conf 主要配置文件

# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
protected-mode no
# 开启远程
deamonize  no
# #注释掉这部分,这是限制redis只能本地访问,你可以绑定单一接口,如果没有绑定,所有接口都会监听到来的连接
#  bind 127.0.0.1     
# 因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
# 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过
# auth <password>命令提供密码,默认关闭,当前密码为123456
requirepass 123456

5. 启动容器

1. 启动命令

docker run -p 6379:6379 \
--name redis \
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis \
redis-server /etc/redis/redis.conf \
--appendonly yes

2. 命令分解

参数解释:

  • -p 6379:6379:把容器内的6379端口映射到宿主机6379端口
  • –name redis :指定该容器名称,查看和进行操作都比较方便
  • -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中
  • -v /usr/local/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份
  • redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
  • -–appendonly yes:redis启动后数据持久化

3. 自启动

docker update redis --restart=always 或者 docker update --restart=always <容器名称/ID>

4. 查看是否运行成功

docker ps

查看redis已经运行

5. 查看运行日志

docker logs -f redis

6. 启动、停止、重启

docker start nginx
docker stop  nginx
docker restart nginx

7. 进入容器测试

docker exec -it redis /bin/bash

8. 使用 redis-cli 可以测试连接

/data# redis-cli

注: 远程连接失败的可以尝试修改防火墙和安全组