docker 在部署 Redis 容器使用 redis.conf 配置启动失败
2022/1/31 19:11:51
本文主要是介绍docker 在部署 Redis 容器使用 redis.conf 配置启动失败,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在云服务器上部署 docker 下安装 Redis 容器,服务器系统是 centOS 8.0 64 位、Docker 20.10.12
我在 docker 上部署 Redis 的过程如下:
#1.拉取最新的 redis 镜像文件 docker pull redis:latest #2.1在云服务器中创建文件夹 /data/redis、/data/redis/data #2.2从官网上下载 Redis 配置文件,修改该文件的配置,并将修改后的 redis.conf 上传到服务器中的 /data/redis 目录中 #3 启动redis docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
但是输入 启动 redis 的命令后,没有报错。然而查看 docker 的线程也看不到 redis
在 portainer 中 redis 容器也显示 stopped
查看 redis 的容器日志发现也没有其他问题,在网上找了一圈,发现是 docker run 命令中有一个参数 -d 是默认以守护线程运行,是不是这个线程和 redis 的配置起了冲突。我看了一下我的redis.conf 文件配置,发现 daemonize 这个参数后面确实是 yes 。改为 no 后关闭以守护线程的方式启动。redis 容器正常运行。
下面再回顾一下 redis.conf 文件的修改:
bind 127.0.0.1
这一行需要把 # 注释掉,让redis 可以被外部所访问daemonize
修改为 no ,关闭以守护线程的方式启动requirepass
设置 Redis 连接密码,防止被当成矿机appendonly
修改为yes, 实现redis 的持久化
如果还是连接不上 Redis 服务,这个时候可以设置一下防火墙, 以及服务器的 9000 端口才能访问 portainer
- 启动防火墙
systemctl start firewalld
- 设置Redis 6379 端口:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
- 设置Portainer 9000 端口:
firewall-cmd --zone=public --add-port=9000/tcp --permanent
- 重新加载:
firewall-cmd --reload
参考博文:
- https://www.cnblogs.com/nhdlb/p/14299406.html
这篇关于docker 在部署 Redis 容器使用 redis.conf 配置启动失败的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-26阿里云Redis项目实战:新手入门教程
- 2024-09-26阿里云Redis资料入门教程
- 2024-09-25阿里云Redis入门教程:快速掌握Redis的基本操作
- 2024-09-25阿里云Redis学习:新手入门教程
- 2024-09-21Redis资料入门教程:轻松掌握Redis基础知识
- 2024-09-21Redis资料:入门级用户必学教程
- 2024-09-21Redis资料:新手入门教程与实践指南
- 2024-09-20Redis教程:从入门到实践的全面指南
- 2024-09-20Redis教程:初学者快速入门指南
- 2024-09-20Redis教程:新手入门与实践指南