docker安装配置redis
docker安装配置及常用命令(dokcer系列一)
docker安装配置mysql8.0.16(dokcer系列二)
docker安装gitlab并调优性能(docker系列四)
docker安装jenkins(docker系列五)
docker安装nacos并配置mysql数据库(docker系列六)
内网穿透加nginx转发实现本地服务远程访问(docker系列终)
拉取redis镜像
查看docker hub上redis版本
docker search redis
拉取redis镜像
docker pull redis:7.0.3
我这里拉取的最新版本,可以指定版本
查看镜像
docker images
创建文件挂载目录
个人比较习惯将容器内重要文件挂载到宿主机方便查看修改
进入
cd /opt/
创建redis挂载目录
sudo mkdir redis_docker
进入创建的目录
cd redis_docker/
下载配置文件
地址
这个过程中遇到一个坑,下载的配置文件在使用时报错,怀疑可能是配置文件与redis版本之间冲突?
还有个方式就是去redis官网下载对应版本redis客户端,然后解压出来直接获取里面的redis.conf
官网地址
配置文件下载好后移动到刚刚创建的redis_docker目录下
创建并启动redis容器
docker run -p 6379:6379 --name redis -m 512M --memory-swap=1024M -v $PWD/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d --restart always redis:7.0.3 redis-server /etc/redis/redis.conf --appendonly yes
命令解释如下:
命令 | 功能 |
---|---|
docker run | 创建并启动容器 |
–name | 指定一个容器名称 |
-m | 指定容器内存大小 |
–memory-swap | 指定虚拟内存大小 |
-v | 将容器内部文件挂载到宿主机目录 |
$PWD | 输出当前所在目录名称,等同于/opt/redis_docker |
–appendonly yes | 开启redis数据持久化 |
-d | 后台运行容器,并返回容器ID |
-p | 指定端口 |
–restart always | 随docker启动 |
redis redis-server /etc/redis/redis.conf | 启动的镜像并指定redis服务按照这个配置启动(这里如果不按照指定配置启动,就会默认无配置启动) |
: | 符号左边为宿主机,右边为容器空间 |
查看是否启动成功
docker ps
测试redis
进入redis容器内部
docker exec -it redis /bin/bash
登陆redis(因为现在还没有修改配置,所有无需严重密码)
redis-cli
然后简单get,set数据测试一下
修改redis配置开启远程访问及设置访问密码
进入宿主机映射文件夹
cd /opt/redis_docker
编辑映射配置文件
sudo vim redis.conf
使用#注释掉 bind 127.0.0.1 这一行,使redis可以外部访问
requirepass 123456 设置密码
appendonly yes 持久化设置
然后保存退出
重启redis容器
docker restart redis
再次测试
进入redis容器内部
docker exec -it redis /bin/bash
登陆redis
redis-cli
会出现如下前缀
127.0.0.1:6379->
然后验证密码后登陆
auth 123456
然后简单get,set数据测试一下