查看redis.conf配置信息

docker 启动Redis镜像 docker启动redis失败_docker

  • daemonize no :redis默认是不作为守护进程使用的,这也就是说为什么在你不修改配置文件时直接使用redis-server /redis/redis.conf 启动redis会直接显示一个服务,你在这个终端就没有办法操作其他,只能新开一个终端来连接redis
  • requirepass foobared :redis默认是没有密码连接的,但是为了安全密码还是需要设置的
  • bind 127.0.0.1:这个配置项一般是直接注释掉的,这个配置开启后就只有本机可以连接redis

docker run命令的参数

docker run -d --restart="always" --name redis -v /usr/local/docker/data:/data -v /usr/local/docker/conf/:/usr/local/etc/redis/ --network redis-net  -p 6380:6379 --ip 172.19.0.2 redis:6.0.8 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
  • i : 打开STDIN,用于控制台交互
  • t :分配tty设备,该可以支持终端登录,默认为false
  • d:指定容器运行于前台还是后台,默认为false
  • v:给容器挂载存储卷,挂载到容器的某个目录
  • –net:容器使用自己自定义的网络
  • -p:是端口号
  • –restart:指定容器停止后的重启策略 no:容器退出时不重启 on-failure:容器故障退出(返回值非零)时重启 always:容器退出时总是重启

问题点

当我们启动容器后,没有报错,查看日志也没有错误显示,结果容器没有运行。

docker 启动Redis镜像 docker启动redis失败_redis_02

 

回顾一下redis.conf里边是不是有一个daemonize no这个参数是是否以守护进程执行的。

在回顾一下docker run命令里边有一个参数 -d这个参数也是以守护进程执行。

这就清楚了,是redis.conf跟docker配置冲突了。

修改 redis.conf 配置文件把守护进程修改为no。

docker 启动Redis镜像 docker启动redis失败_docker_03

 

再次启动就可以了。