跳至主要內容

Docker安装Redis

三思原创大约 5 分钟dockerdocker安装redis容器

本文详细介绍了如何通过Docker安装最新版本的Redis,包括搜索、拉取镜像、挂载配置文件、启动容器、测试连接等步骤。通过命令行实现,同时提供每一步操作的图解说明,帮助读者轻松完成Redis的安装和验证。

image
image

史上最详细Docker安装Redis (含每一步的图解)实战

不仅教你安装,还教你删除。

每一行命令都带图解,绝对能懂。

大家对搭建Redis Clustr (Redis 集群)感兴趣的,可以看看这篇文章
Docker搭建Redis Cluster集群环境
希望对大家有所帮助

我自测过文中所有的命令,确定通过Docker下载安装最新的Redis,也是可行的。
详情如下:

image

一、Docker搜索redis镜像

  • 命令:docker search <镜像名称>
docker search redis

image

可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本 。redis latest.

二、Docker拉取镜像

  • 命令::docker pull <镜像名称>:<版本号>
docker pull redis

image

三、Docker挂载配置文件

接下来就是要将redis 的配置文件进行挂载,以配置文件方式启动redis 容器。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)

  1. 挂载 redis 的配置文件
  2. 挂载 redis 的持久化文件(为了数据的持久化)。

本人的配置文件是放在

liunx 下redis.conf文件位置: /home/redis/myredis/redis.conf

liunx 下redis的data文件位置 : /home/redis/myredis/data

位置可以自己随便选择哈

image

mkdir -p /home/redis/myredis 命令 是不存在就直接创建/home/redis/myredis 文件夹

image

myredis.conf 是我手动上传的。 (文件在文末,redis.conf 的标准文件在redis官网也可以找到)

image

四、启动redis 容器

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 000415
  1. --restart=always 总是开机启动

  2. --log是日志方面的

  3. -p 6379:6379 将6379端口挂载出去

  4. --name 给这个容器取一个名字

  5. -v 数据卷挂载

    /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。

    /home/redis/myredis/data:/data 这个同上

  6. -d redis 表示后台启动redis

  7. redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf

  8. –appendonly yes 开启redis 持久化

  9. –requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)

成功界面

image

五、测试

  1. 通过docker ps指令查看启动状态

    docker ps -a |grep myredis # 通过docker ps指令查看启动状态,是否成功.
    

    image

  2. 查看容器运行日志

    命令:docker logs --since 30m <容器名>

    此处 --since 30m 是查看此容器30分钟之内的日志情况。

    docker logs --since 30m myredis
    

    image

  3. 容器内部连接进行测试

    进入容器

    命令:docker exec -it <容器名> /bin/bash

    此处跟着的 redis-cli 是直接将命令输在上面了。

    docker exec -it myredis redis-cli
    

    进入之后,我直接输入查看命令:

    image

    error是没有权限验证。(因为设置了密码的。)

    验证密码:

    auth 000415
    

    image

    查看当前redis有没有设置密码:(得验证通过了才能输入的)

    config get requirepass
    

    image

六、配置文件

myredis.conf

# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1

protected-mode no
port 6379
tcp-backlog 511
requirepass 000415
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

image

七、Docker删除Redis

教了大家怎么装,咱们也得学会怎么卸载哈,不然没法成为熟练工人(手动狗头)

7.1、删除Redis 容器

  1. 查看所有在运行的容器:
    命令:

    docker ps -a
    

    image

  2. 停止运行的Redis。停止命令:docker stop <容器名>

    docker stop myredis # myredis 是我启动redis 命名的别
    

    image

  3. 删除redis 容器: 删除容器命令: docker rm <容器名>

    docker rm myredis
    

    image

7.2、删除Redis镜像

删除容器后,我们开始删除redis镜像。

  1. 查看全部镜像 命令:docker images

    image

  2. 删除镜像 命令 docker rmi <容器 id>

    docker rmi 739b59b96069 # 这是我镜像redis id
    

    image
    可以看到Redis 的镜像已经被删除啦。