linux用docker安装redis
linux用docker安装redis
linux用docker安装redis
本文介绍在基于一个新的linux服务器条件下如何安装redis
一、安装docker前准备
1.1 检查内核版本,因为docker需要内核版本大于3.1以上
uname -r
1.2 这里采用yum工具安装docker,所以安装yum
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
1.3 设置docker镜像源位阿里云
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
二、安装docker
可跳过,删除之前的redis
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
2.1 安装docker社区版本
yum install -y docker-ce
2.2 因为docker需要监听端口,所以需要关掉防火墙
# 关闭防火墙
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
# 查看是否关闭防火墙
systemctl status firewalld
2.3 启动docker
# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
2.4 检查docker安装是否成功
# 查看docker版本,两种命令都可以
docker -v
docker version
2.5 配置镜像加速
2.5.1 创建放置加速文件的文件夹,文件夹的路径可以根据自己的情况进行选择
sudo mkdir -p /etc/docker
2.5.2 配置镜像加速文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF
2.6 重新加载配置的加速文件
sudo systemctl daemon-reload
2.7 重启docker
sudo systemctl restart docker
三、安装redis
3.1 搜索redis镜像
# docker serach <镜像名>
docker search redis
3.2 拉起redis镜像 如果不输入版本号,则会默认拉取最新版本latest
# docker pull <镜像名>:<版本号>
docker pull redis
3.3 挂载redis的配置文件,以配置文件方式启动redis容器
3.3.1 建立放置配置文件的文件夹的,文件夹的路径根据自己的情况选择
mkdir -p /home/redis/myredis
3.3.2 在3.3.1的文件夹下在建立一个名为data的文件夹
mkdir -p /home/redis/myredis/data
3.3.3 上传配置文件到刚刚上传的3.3.1的文件夹下,配置文件在最后
3.4 启动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 123456
启动命令讲解
--restart=always 代表总是开机启动
--log-opt 代表日志方面
-p 6379:6379 代表将6379端口挂载出去
--name myredis 代表给容器取一个名字
-v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 代表将自己上传的配置文件和redis的配置文件挂载在一起
-v /home/redis/myredis/data:/data 将数据挂载在一起
-d redis 代表后台启动
redis-server /etc/redis/redis.conf 代表以配置文件启动redis,加载容器内的conf文件,因为文件挂载,最终找到上面自定义的配置文件
--appendonly yes 开启aof持久化
--requirepass 123456 设置密码,docker内部连接的话,此密码没有效,用于对外开放
3.5 测试是否启动成功
3.5.1 查看启动的了容器
# 查看所有活着的容器
docker -ps
# 查看指定容器名的活着的容器,myredis是创建的容器的名字,根据自己创建的名字进行输入
docker -ps -a | grep myredis
3.5.2 查看容器运行日志
# --since 30m 指查看容器30分钟内的日志情况
docker logs --since 30m myredis
3.5.3 内部连接,命令为 docker exec -it <容器名> /bin/bash
# 这里直接启动客户端
docker exec -it myredis redis-cli
四、卸载redis
既然安装了,那么卸载的方法也要简单讲解一下
4.1查看所有在运行的容器
docker ps -a
4.2 停止运行的Redis
# docker stop <容器名>
docker stop myredis
4.3 删除容器
# docker rm <容器名>
docker rm myredis
4.4 查看所有的镜像
docker images
4.5 删除镜像
# docker rmi <镜像id>
docker rmi 739b59b94569
五、配置文件
# 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
# 设置 Redis 连接密码
requirepass 123456
# 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
timeout 0
tcp-keepalive 300
# 是否以守护进程的方式运行 yes是启用守护进程,no为不是
daemonize no
supervised no
# 当redis以守护进程的方式运行时,默认把pid先写指定文件
pidfile /var/run/redis_6379.pid
# 指定日志记录级别,Redis 总共支持四个级别:debug、verbose、notice、warning,默认为 verbose
loglevel notice
# 日志记录方式,默认为标准输出,如果redis以守护进程方式运行,这里又设置为标准输出,日志则将为发送给dev/null
logfile ""
设置数据库的数量,默认数据库为 0
databases 30
always-show-logo yes
# 900 秒(15 分钟)内有1个更改,则保存快照
save 900 1
# 300 秒(5 分钟)内有10个更改,则保存快照
save 300 10
# 60 秒(1 分钟)内有10000个更改,则保存快照
save 60 10000
stop-writes-on-bgsave-error yes
# 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
rdbchecksum yes
# 指定本地数据库文件名,默认值为 dump.rdb
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
# 指定是否在每次更新操作后进行日志记录,也就是是否开启aof日志备份,默认为no
appendonly yes
# 指定更新日志文件名,也就是aof日志的文件名
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:
https://blog.csdn.net/m0_59196543/article/details/124749175
安装redis
https://blog.csdn.net/weixin_45821811/article/details/116211724
更多推荐
所有评论(0)