docker起redis服务
# docker起redis服务
# 1、拉取镜像
docker pull redis:版本号 #默认为last最新版
1
# 2、手动创建配置文件
redis.conf 配置文件:
#注释掉这部分,这是限制redis只能本地访问
bind 127.0.0.1
#默认yes,开启保护模式,限制为本地访问
protected-mode no
#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方#式启动redis失败
daemonize no
#redis持久化(可选)
appendonly yes
#设置密码
requirepass 123456
#数据目录
dir ...
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
移动配置文件到自定义的目录:
mv redis.conf /data/redis/
1
数据以及日志保存的目录:
mkdir /data/redis/data
1
# 3、启动命令
docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis:5.0 redis-server /etc/redis/redis.conf --appendonly yes
1
命令注释:
- -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
- --name redis 指定该容器名称,查看和进行操作都比较方便。
- -v 挂载目录,规则与端口映射相同。
- -d redis 表示后台启动redis。
- redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/redis.conf。
- --appendonly yes 开启redis 持久化
# 4、注意
在服务器部署redis服务,一定要设置密码,不然很容易受到攻击!
使用外部服务连接redis,需要开放相应的端口,同时根据上文所说redis.conf配置文件注释掉bind行,否则访问不了
两次 -v 挂在目录,路径要写对,尤其是映射配置文件的挂载,宿主机中的配置文件中的dir 需要指定的是 容器中的目录,如果指定为宿主机的目录,则容器启动不了
查看日志:
xxxx No such file or directory
1如果使用docker容器部署,宿主机里的redis配置文件其实可以省略,因为在run的时候就通过命令的方式指定了 挂在的数据目录
上次更新: 2022/05/13 21:13:15