ubuntu22.04在docker中安装redis6.2.x并配置远程连接

安装Redis

1、拉取redis镜像

最好选择LTS版本的Redis,这里选择长期支持的6.2.x版本

shell 复制代码
sudo docker pull redis:6.2.21

2、准备配置文件redis.conf

为什么需要准备这个配置文件

因为默认启动命令docker run --name some-redis -d redis是以docker内部默认参数去启动redis,无密码也不能修改连接参数,因此选择指定配置文件去启动redis更加方便我们日后对redis的维护

这个配置文件放在文章末尾 ,如果你之前装过redis,去到安装目录下copy一份就好,都是一样的,具体的配置参照Ubuntu部署Redis6.2.x版本和配置开机自启,我这里把配置文件放在/home/yun/Documents/redis

配置redis.conf文件

文件参考文章末尾 ,这里补充一下知识点,运行docker时指定本机配置文件映射到docker中-v/home/yun/Documents/redis/redis.conf:/etc/redis/redis.conf,这种方式叫做挂载,由于docker是一个独立的运行环境,一旦容器被删除,所有文件都会跟着删除,将配置文件放在容器中,更改需要进入容器内部,比较麻烦

采用挂载方式,配置文件放在本机中,通过挂载到docker容器内部,每次修改时会同步到容器内部的配置文件,重启redis只需要执行sudo docker restart redis,新的配置文件就会生效

3、运行Redis

shell 复制代码
sudo docker run -p 9736:6379 --name redis -v /home/yun/Documents/redis/redis.conf:/etc/redis/redis.conf -v /home/yun/Documents/redis/data:/data -d redis:6.2.21 redis-server /etc/redis/redis.conf

--name redis:运行名称,这个名称可以随意

-p 9736:6379:第一个端口为外部访问端口,第二个端口为redis在docker中的运行端口

-v /home/yun/Documents/redis/redis.conf:/etc/redis/redis.conf:指定配置文件

-v /home/yun/Documents/redis/data:/data:数据存放的地方

-d:后台运行

redis:tag:运行的redis镜像,这里是6.2.21版本,如果是使用最新版,可以省略后面的tag

redis:6.2.21 redis-server /etc/redis/redis.conf:指定配置文件地址

4、查看运行日志

shell 复制代码
sudo docker logs --since 30m redis

5、进入容器内部测试连接

shell 复制代码
sudo docker exec -it redis redis-cli

6、测试配置文件同步更新

这里我将/home/yun/Documents/redis下的配置文件中requirepass更改为12345678910,原本是123456,重启redis后使用原密码登录会被拒绝,说明本机配置文件更改后,容器内部配置文件也会更改

远程连接Redis

1、cmd命令行

shell 复制代码
redis-cli -h 192.168.242.137 -p 9736 -a 123456

-h:ip地址
-p:端口号,这里指docker暴露出来的9736端口
-a:密码

图形化界面

在Redis客户端中输入参数连接即可


附录Redis.conf文件

推荐还是去之前安装过的redis中复制一个配置文件,由于原本的文件存在大量注释,直接粘贴会非常多,这里是使用脚本过滤掉所有注释后生成的

shell 复制代码
bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
rdb-del-sync-files no
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
requirepass 123456
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
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-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
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
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes
相关推荐
迷路爸爸1801 分钟前
Docker 入门学习笔记 03:端口映射到底是什么,为什么容器启动了却访问不到
笔记·学习·docker
IMPYLH3 分钟前
Linux 的 mkdir 命令
linux·运维·服务器·bash
网络研究员10 分钟前
Facebook无法向他人发送消息?2026原因解析与解决思路
运维·服务器
电子阿板11 分钟前
ubuntu虚拟机查看tusb8041扩展坞及U盘的设置方法
linux·运维·ubuntu
迷路爸爸18013 分钟前
Docker 入门学习笔记 07:用一个多服务案例真正理解 Docker Compose
运维·笔记·学习·spring cloud·docker·容器·eureka
孤影过客14 分钟前
Linux下的PostgreSQL集群演进指南
linux·运维·postgresql
Arvin62718 分钟前
Jenkins 任务执行完成后会kill掉的衍生进程
运维·servlet·jenkins
雄哥00726 分钟前
linux redis升级⼿册-源码部署版
linux·运维·redis
水云桐程序员34 分钟前
电子自动化技术(EDA技术)FPGA概述
运维·fpga开发·自动化
爱浦路 IPLOOK41 分钟前
选对UPF网元供应商,解锁5G-A时代行业赋能新可能
运维·网络·数据库