详细Docker安装Redis教程
一、Docker搜索redis镜像
命令:docker search <镜像名称>
docker search redis
可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本 。redis latest.
二、Docker拉取镜像
命令::docker pull <镜像名称>:<版本号>
docker pull redis
可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本 。redis latest.
二、Docker拉取镜像
命令::docker pull <镜像名称>:<版本号>
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 容器
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
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)
成功界面
五、测试
1、通过docker ps指令查看启动状态
docker ps -a |grep myredis # 通过docker ps指令查看启动状态,是否成功.
2、查看容器运行日志
命令:docker logs --since 30m <容器名>
此处 --since 30m 是查看此容器30分钟之内的日志情况。
docker logs --since 30m myredis
3、容器内部连接进行测试
进入容器
命令:docker exec -it <容器名> /bin/bash
此处跟着的redis-cli是直接将命令输在上面了。
docker exec -it myredis redis-cli
进入之后,我直接输入查看命令:
error是没有权限验证。(因为设置了密码的。)
验证密码:
auth 密码
查看当前redis有没有设置密码:(得验证通过了才能输入的)
config get requirepass
六、配置文件
myredis.conf
七、Docker删除Redis
教了大家怎么装,咱们也得学会怎么卸载哈,不然没法成为熟练工人(手动狗头)
6.1、删除Redis 容器
查看所有在运行的容器:
命令:
docker ps -a
停止运行的Redis
停止命令:docker stop <容器名>
docker stop myredis # myredis 是我启动redis 命名的别
删除redis 容器:
删除容器命令: docker rm <容器名>
docker rm myredis
6.2、删除Redis镜像
删除容器后,我们开始删除redis镜像。
查看全部镜像 命令:
docker images
删除镜像 命令 docker rmi <容器 id>
docker rmi 739b59b96069 # 这是我镜像redis id
可以看到Redis 的镜像已经被删除啦。
命令:docker search <镜像名称>
docker search redis
可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本 。redis latest.
二、Docker拉取镜像
命令::docker pull <镜像名称>:<版本号>
docker pull redis
可以看到有很多redis的镜像,此处因没有指定版本,所以下载的就是默认的最新版本 。redis latest.
二、Docker拉取镜像
命令::docker pull <镜像名称>:<版本号>
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 容器
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
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置,我被搞过,可以看这篇文章“阿里云服务器中毒‘Kirito666’经历”)
成功界面
五、测试
1、通过docker ps指令查看启动状态
docker ps -a |grep myredis # 通过docker ps指令查看启动状态,是否成功.
2、查看容器运行日志
命令:docker logs --since 30m <容器名>
此处 --since 30m 是查看此容器30分钟之内的日志情况。
docker logs --since 30m myredis
3、容器内部连接进行测试
进入容器
命令:docker exec -it <容器名> /bin/bash
此处跟着的redis-cli是直接将命令输在上面了。
docker exec -it myredis redis-cli
进入之后,我直接输入查看命令:
error是没有权限验证。(因为设置了密码的。)
验证密码:
auth 密码
查看当前redis有没有设置密码:(得验证通过了才能输入的)
config get requirepass
六、配置文件
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
七、Docker删除Redis
教了大家怎么装,咱们也得学会怎么卸载哈,不然没法成为熟练工人(手动狗头)
6.1、删除Redis 容器
查看所有在运行的容器:
命令:
docker ps -a
停止运行的Redis
停止命令:docker stop <容器名>
docker stop myredis # myredis 是我启动redis 命名的别
删除redis 容器:
删除容器命令: docker rm <容器名>
docker rm myredis
6.2、删除Redis镜像
删除容器后,我们开始删除redis镜像。
查看全部镜像 命令:
docker images
删除镜像 命令 docker rmi <容器 id>
docker rmi 739b59b96069 # 这是我镜像redis id
可以看到Redis 的镜像已经被删除啦。