1.获取 redis 镜像
docker pull redis
2.查看本地镜像
docker images
从官网获取 redis.conf 配置文件(这是最新版的配置文件)
注意了,如果根据配置文件启动的话,配置文件的版本一定要和你的redis下载的版本完全一致
- 修改默认配置文件
- bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
- protected-mode no #默认yes,开启保护模式,限制为本地访问
- daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
- dir ./ #输入本地redis数据库存放文件夹(可选)
- appendonly yes #redis持久化(可选)
3.创建redis挂载目录
mkdir /usr/local/docker
将指定版本的redis.conf配置文件复制到此目录,此文档环境默认为redis最新
4.启动redis命令
docker run -p 6379:6379 --name redis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解释说明:
- -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
- --name myredis 指定该容器名称,查看和进行操作都比较方便。
- -v 挂载目录,规则与端口映射相同。
- -d redis 表示后台启动redis
- redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
- appendonly yes 开启redis 持久化
docker ps 看一下可以看到redis已经运行成功了,如果没成功用docker logs redis看一下打印日志
基本上就是配置文件的版本与redis的版本不一致导致了,99%都是这个情况
Docker 安装 Redis不指定配置文件
docker pull redis:latest
docker run -itd --name redis-test1 -p 6378:6378 redis
通过 redis-cli 连接测试使用 redis 服务。
$ docker exec -it redis-test1 /bin/bash