前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >史上最详细Docker安装Redis (含每一步的图解)实战

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

作者头像
宁在春
发布2022-10-31 14:14:50
4.4K0
发布2022-10-31 14:14:50
举报
文章被收录于专栏:关于Java学习@宁在春

不仅教你安装,还教你删除。 每一行命令都带图解,绝对能懂。 大家对搭建Redis Clustr (Redis 集群)感兴趣的,可以看看这篇文章 Docker搭建Redis Cluster集群环境 希望对大家有所帮助

一、Docker搜索redis镜像

命令:docker search <镜像名称>

代码语言:javascript
复制
docker search redis

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

二、Docker拉取镜像

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

代码语言:javascript
复制
docker pull redis

三、Docker挂载配置文件

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

1)、挂载redis的配置文件

2)、挂载redis 的持久化文件(为了数据的持久化)。

本人的配置文件是放在

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

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

位置可以自己随便选择哈

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

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

四、启动redis 容器

代码语言:javascript
复制
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’经历”)
  10. 成功界面

五、测试

1、通过docker ps指令查看启动状态
代码语言:javascript
复制
docker ps -a |grep myredis # 通过docker ps指令查看启动状态,是否成功.
2、查看容器运行日志

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

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

代码语言:javascript
复制
docker logs --since 30m myredis
3、容器内部连接进行测试

进入容器

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

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

代码语言:javascript
复制
docker exec -it myredis redis-cli

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

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

验证密码:

代码语言:javascript
复制
auth 密码

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

代码语言:javascript
复制
config get requirepass

六、配置文件

myredis.conf

代码语言:javascript
复制
# 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

七、Docker删除Redis

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

6.1、删除Redis 容器

查看所有在运行的容器:

命令:

代码语言:javascript
复制
docker ps -a

停止运行的Redis

停止命令:docker stop <容器名>

代码语言:javascript
复制
docker stop myredis # myredis 是我启动redis 命名的别

删除redis 容器:

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

代码语言:javascript
复制
docker rm myredis
6.2、删除Redis镜像

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

查看全部镜像 命令:

docker images

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

代码语言:javascript
复制
docker rmi 739b59b96069 # 这是我镜像redis id

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

日常自言自语

上一次也有下载过,但是因为没有记录,导致这一次要操作的时候,又是各种查,才弄好,最后写下这一篇实

操的docker安装redis的博客,希望能够帮助到大家。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Docker搜索redis镜像
  • 二、Docker拉取镜像
  • 三、Docker挂载配置文件
  • 四、启动redis 容器
  • 五、测试
    • 1、通过docker ps指令查看启动状态
      • 2、查看容器运行日志
        • 3、容器内部连接进行测试
        • 六、配置文件
        • 七、Docker删除Redis
          • 6.1、删除Redis 容器
            • 6.2、删除Redis镜像
            • 日常自言自语
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档