当前位置: 首页 > 知识库问答 >
问题:

docker 运行redis容器遇到不断重启的问题如何解决?

东门彬
2025-02-07

我运行容器命令:

docker run  -d --name redis1 \
-p 127.0.0.1:6379:6379 \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-v /home/logs/redis.log:/etc/redis/redis.log \
--restart=always \
redis:6.2.14 \
redis-server /etc/redis/redis.conf

启动后通过docker ps 查看, 发现容器redis1一直在重启
于是我先使用:

docker run  -d --name redis1 \
-p 127.0.0.1:6379:6379 \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-v /home/logs/redis.log:/etc/redis/redis.log \
--restart=always \
redis:6.2.14

然后

docker exec -it redis1 redis-server /etc/redis/redis.conf

就可以,求解

共有2个答案

袁智明
2025-02-07

把你的启动命令中,-d--restart=always 先给去掉,这样就只会报错后,不会频繁启动容器,也能看到错误原因是什么。

卓云
2025-02-07

其实在重启的时候你应该看看日志,看看日志里面写了什么。


这两个启动的命令看上去都没有问题,唯一区别就是第二个启动命令没有指定配置文件。

所以实际上,当你执行第二个命令的时候,redis-server就已经运行起来了(使用默认配置)。

第三个命令,实际上是执行失败了,而且 100% 是因为端口冲突导致的失败 (这个时候redis-server 已经是在运行中了)。


image.png

 类似资料:
  • 我今天使用应用程序容器/媒体维基泊出程序映像部署了MediaWiki的一个实例,我现在遇到了一个新问题,我找不到任何线索。尝试使用以下命令附加到媒体维基前端容器后: 由于我忽略的原因,它在我的配置中回答< code >终止,并尝试: 我确实收到了一些接近错误消息的内容: 这是我的新问题,因为这个容器永远不会停止重新启动。我可以看到,使用<code>docker ps-a。 问题是,我能够停止容器(

  • 问题内容: 问题 如果能够从主机进行编译和运行,则可以设置并达到断点,但是如果我从docker容器中执行此操作,则gdb不会达到设置的断点。 复制步骤(所有片段均已准备好复制粘贴) 创建一个docker文件: 构建图像并在其中运行交互式会话: 从容器内部创建小的main.cpp,编译并运行gdb: 观察gdb的输出: 从输出中可以看到,尽管程序已执行(打印为“ hi”)并成功退出,但未命中断点。我

  • 我的配置方式一: dockerfile docker-compose 我的配置方案二: 只配置docker-compose 并且将 docekrfile 中的 ENTRYPOINT 去掉 两个方案都是 docker 一直在重启。我打印日志看到sh.sh 是成功运行的。 我的sh.sh 是一个后台运行的脚本 无论我是在dockerfile 里面写 还是在docker-compose 里面写,感觉是执

  • 本文向大家介绍解决docker重启redis,mysql数据丢失的问题,包括了解决docker重启redis,mysql数据丢失的问题的使用技巧和注意事项,需要的朋友参考一下 官方文档: 所以 mysql应如下启动: docker run -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=密码 -v /windows盘符/指定的文件夹路径:/var/lib/mysql 

  • 本文向大家介绍Docker容器中运行flume及启动不输出运行日志问题,包括了Docker容器中运行flume及启动不输出运行日志问题的使用技巧和注意事项,需要的朋友参考一下 flume配置文件如下: dockerfile如下: 下面看下flume 启动不输出运行日志 问题 以前碰到的一个问题,算是一个小问题,flume 用命令 启动的时候,flume使用的log4j不起效,不会输出日志到日志文件

  • 问题内容: 在容器内运行服务时,假设使用mongodb命令 将立即退出,并返回容器ID。在我的CI脚本中,我在运行mongo容器之后立即运行客户端以测试mongodb连接。问题是:由于服务尚未启动,客户端无法连接。除了在脚本中添加大字体外,我看不到任何等待容器启动并运行的选项。 Docker的命令在这种情况下不起作用,因为该容器不存在。是docker的限制吗? 问题答案: 如在docker 1.1

  • 在cvat加载sam模型时需要用到GPU,于是按照步骤按照这个步骤来的,到启动容器的那一步就出现错误 该如何解决

  • 我有一个Sinatra应用程序,在Docker中运行良好: 但是当我尝试添加Redis时: Redis似乎没有启动。 那么,将Redis添加到Ruby()Docker容器中的好方法是什么呢?