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

我运行容器命令:

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

就可以,求解

阅读 609
2 个回答

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


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

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

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


image.png

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏