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。
错误提示
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 下使用相同配置并无问题。以下是部署流程:
连接验证: