Docker 安装 Redis 容器

转载自:
Docker 安装 Redis 容器 (完整详细版)

Docker 安装 (完整详细版)

Docker 日常命令大全(完整详细版)

1、获取Redis镜像 

Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。 

Docker 镜像仓库

2、下载Redis镜像

命令描述
docker pull redis下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest )
docker pull redis:xxx下载指定版本的Redis镜像 (xxx指具体版本号)

 检查当前所有Docker下载的镜像

docker images
    
    

 3、创建Redis配置文件

启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。


    
    
  1. ## 创建目录
  2. mkdir -p /home /redis /conf
  3. ## 创建文件
  4. touch /home /redis /conf /redis.conf

4、创建Redis容器并启动

Docker 创建 Redis 容器命令

docker run \
-d \
--name redis \
-p 6379:6379 \
--restart unless-stopped \
-v /home/redis/data:/data \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
redis:bullseye \
redis-server /etc/redis/redis.conf
命令描述
–name redis启动容器的名字
-d  后台运行
-p 6379:6379  将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口
–restart unless-stopped容器重启策略
-v /home/redis/data:/data将Redis储存文件夹挂在到主机
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf 将配置文件夹挂在到主机
-d redis:bullseye启动哪个版本的 Redis (本地镜像的版本)
redis-server /etc/redis/redis.conf Redis 容器中设置 redis-server 每次启动读取 /etc/redis/redis.conf 这个配置为准
--appendonly yes在Redis容器启动redis-server服务器并打开Redis持久化配置
shell 命令换行

    注意 : 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是redis容器配置 。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。

# 本次执行命令:
docker run --name redis -p 6379:6379 \
-v /home/redis/data:/data \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis:bullseye redis-server /etc/redis/redis.conf 

5、查看Redis是否运行

### 查看Docker运行中的容器
docker ps 
docker ps | grep redis

Docker日志查看

docker logs redis

 
 

 报错:chown: changing ownership of '.': Permission denied,权限不足!请跳转!!!

6、进入Redis容器

### 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name bella
### 查看 key 为 name 的 value 值
> get name
 
 
### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli

 7、退出容器

exit

 
 

8、Redis 配置文件修改

修改 /home/redis/conf/redis.conf

命令功能
appendonly yes 启动Redis持久化功能 (默认 no , 所有信息都存储在内存 [重启丢失] 。 设置为 yes , 将存储在硬盘 [重启还在])
protected-mode no 关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了)
bind 0.0.0.0设置所有IP都可以访问 (docker貌似自动开启了)
requirepass 密码 设置密码

 9、进入有密码的Redis控制台

如果你设置了密码,需要通过如下命令进入Redis控制台 

    

## 进入Redis容器
docker exec -it redis /bin/bash
 
## 通过密码进入Redis控制台
redis-cli -h 127.0.0.1 -p 6379 -a 123456


  
    
 

redis.conf

# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1
requirepass 123456
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值