Docker安装redis、redis设置密码、挂载配置文件并以配置文件方式启动(避坑)
1. 拉取redis镜像:
拉取最新版:docker pull redis 拉取指定版本,以6.2.7为例:docker pull redis:6.2.7
2. 在Linux环境中创建需要挂载的目录
mkdir /usr/local/software/redis/6379/conf mkdir /usr/local/software/redis/6379/data mkdir /usr/local/software/redis/6379/log
3. 下载指定版本的配置文件(一定要下载对应版本)
https://redis.io/docs/management/config
4. 将配置文件上传至 /usr/local/software/redis/6379/conf 目录下,并在/usr/local/software/redis/6379/log 目录下创建空的日志文件 redis.log
5. 修改 redis.conf
bind 0.0.0.0 #默认127.0.0.,1改为0.0.0.0,解除本地连接限制 protected-mode no #默认yes,开启保护模式,限制为本地访问 daemonize no ##默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败 requirepass 123 #密码 logfile "/var/log/redis.log" #容器内的日志位置
特别说明(踩过坑):
daemonize 设置成yes是将redis以守护线程的方式启动,redis会自动后台运行,但这个设置的前提是用在宿主机直接启动redis。但使用docker启动redis时,使用默认的即可(即设置为no),否则启动的docker容器就无事可干了,docker这时会自动退出,就会启动报错了。
6. 创建容器(容器内的位置可以任意指定),以配置文件的方式启动,如果启动失败,请返回上一步查看 redis 配置
docker run -it --name redis_6379 -p 6379:6379 -v /usr/local/software/redis/6379/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/local/software/redis/6379/data/:/data -v /usr/local/software/redis/6379/log/redis.log:/var/log/redis.log -d redis:6.2.7 /usr/local/etc/redis/redis.conf
7. docker ps 查看是否启动成功
8. 测试 redis
输入指令:docker exec -it redis_6379 /bin/bash,进入容器内。 输入指令:redis-cli -a 123,运行 redis 客户端, -a是指输入密码。 输入指令:ping,显示 PONG 代表测试成功!