Docker部署全栈:三、安装Redis

Docker部署全栈项目:三、Redis 镜像

一、编写启动脚本

#!/bin/bash

curr=`PWD`

# 运行前先停止原有容器
docker stop luokaiii-redis
docker rm luokaiii-redis

# docker run 运行容器
docker run --name luokaiii-redis \ # 指定运行后的容器名称
        -p 7481:6379 \    # 将容器的6379端口映射到宿主机的7481端口
        -v /${curr}/data/:/data \ # 挂载redis持久化的目录到宿主机
        -d redis:4.0.14 \
        --requirepass "password" # 指定redis的连接密码

如果需要使用 conf 自定义配置,请参考 官网提供的 redis.conf

Redis 的执行速度特别快,能到做到 15W/s 的查询,因此推荐使用较为复杂的密码。

二、启动脚本

$ cd /home/luokaiii/images/redis   # 脚本和DB文件的存放位置

$ mkdir data   # 创建存储目录

$ ./start.sh   # 运行刚刚写的脚本
994e9e05bb42d1d.....  # 控制台打印这种的,即表示启动成功

三、日志解释

# Redis 启动、配置加载
1:C 23 Sep 08:55:24.988 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 23 Sep 08:55:24.988 # Redis version=4.0.14, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 23 Sep 08:55:24.989 # Configuration loaded
1:M 23 Sep 08:55:24.992 * Running mode=standalone, port=6379.

# Redis 启动成功
1:M 23 Sep 08:55:24.993 * Ready to accept connections

四、测试

图:连接测试

五、遇到的问题

1. 在 windows 下使用 redis.conf,失败

使用 redis.conf 的 Redis 启动脚本,配置来源于 官网提供的 redis.conf,且未做任何修改。

docker run --name luokaiii-redis \ # 指定运行后的容器名称
        -p 7481:6379 \    # 将容器的6379端口映射到宿主机的7481端口
        -v /${PWD}/data/:/data \ # 挂载redis持久化的目录到宿主机
        -v /${PWD}/redis.conf:/usr/local/etc/redis/redis.conf \ # 挂载redis.conf
        -d redis:4.0.14 \ # 后台运行容器
        redis-server /usr/local/etc/redis/redis.conf

执行脚本参考自 Docker Hub

图:DockerHub提供的redis启动脚本

错误提示

1:C 23 Sep 08:43:00.482 # Fatal error, can't open config file 'C:/Program Files/Git/usr/local/etc/redis/redis.conf'

原因

未知。不明白为什么 Docker Container 会提示出 ‘C:/…’ 路径。

解决方案

Windows 环境不使用 redis.conf.

Ubuntu 下使用相同配置并无问题。以下是部署流程:

Linux下配置

连接验证:

连接Linux下的Redis

项目地址

文章作者: koral
文章链接: http://luokaiii.github.io/2019/09/22/读书笔记/《Docker全栈项目部署》/3.Redis/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自