docker部署redis(远程访问)
- 首先要保证linux安装了docker,然后服务器端口开放了6379
- 运行命令拉取redis镜像,其中latest可以修改为指定版本号
docker pull redis:latest
-
运行命令下载默认的redis.conf
wget https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf -O redis.conf
- 运行命令创建文件夹,用来映射配置文件
mkdir -p /docker/redis/conf mkdir -p /docker/redis/data
- 把3中下载的redis.conf移动到4中的conf文件夹中
- 修改redis.conf文件
requirepass xxxxx #设置密码 bind 127.0.0.1 #注释掉,可以允许外网访问 protected-mode no #yes改成no启用保护模式
- 运行命令,运行镜像,其中 -v 后面映射的目录为上面创建的文件夹地址
docker run -d --privileged=true -p 6379:6379 --restart always -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --name redis redis redis-server /etc/redis/redis.conf --appendonly yes
解释:
-d -> 后台运行 -p 6379:6379 -> 绑定宿主机端口 --name myredis -> 指定容器名字 --restart always -> 开机启动 --privileged=true -> 提升容器内权限 -v /docker/redis/conf:/etc/redis/redis.conf -> 映射配置文件 -v /docker/redis/date:/date -> 映射数据目录 --appendonly yes
-> 开启数据持久化
- 如果运行成功输入命令 docker ps -a 查看运行的容器
-
运行 docker exec -it redis /bin/bash 命令进入容器,然后输入 redis-cli 命令进入redis
输入 get * 命令之后,提示没有权限,然后输入 auth 密码 给权限, 然后输入 get * 获取,可以正常使用, get * 命令时获取所有的key
- 远程连接,在本地测试
- 我本地电脑是window,所以下载window版本 下载地址
- 然后解压使用cmd进入目录下,由于我是在E盘根目录下放着,所以直接就进入该目录下,输入命令 redis-cli -h ip地址 -p 端口号 连接redis服务,然后进行以上操作进行测试
-
以上表示测试成功