视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
解决Redis容器使用redis.conf启动失败
2020-11-09 06:53:27 责编:小采
文档


了解redis.conf的配置文件

打开redis.conf后会看到很多的无用信息

我们使用grep命令来简单的处理一个下,然后就可以看到redis.conf的所有配置信息,但是现在输入的命令是不可以编辑的

执行命令:cat redis.conf | grep -v "#" | grep -v "^$"

上边的这个虽然把redis.conf的所有配置信息弄出来了,但是不能修改,我们可以把这个内容输出到另外一个文件里边,这个时候就可以在redis下可以看到一个redis-test.conf的一个文件

执行命令:cat redis.conf | grep -v "#" | grep -v "^$" ->redis-test.conf

这个时候就可以在redis-test.conf里边修改一些配置信息

在这里我们先了解几个配置,后边的配置咔咔会在后续的文件依序写出

  • daemonize no :redis默认是不作为守护进程使用的,这也就是说为什么在你不修改配置文件时直接使用redis-server /redis/redis.conf 启动redis会直接显示一个服务,你在这个终端就没有办法操作其他,只能新开一个终端来连接redis

  • requirepass foobared :redis默认是没有密码连接的,但是为了安全密码还是需要设置的

  • bind 127.0.0.1:这个配置项一般是直接注释掉的,这个配置开启后就只有本机可以连接redis

  • 以上几个配置信息就是本文所需要知道的三个配置信息

    了解docker run命令参数信息

    docker run命令就是创建一个新的容器

    以下是一个我创建容器使用的命令`docker run -itd --restart="always" --name redis -v /usr/local/docker/data:/data -v /usr/local/docker/redis.conf:/etc/redis.conf --net mynetwork -p 6380:6379 --ip 172.10.0.2 redis:4.0 redis-server /etc/redis.conf`

  • i : 打开STDIN,用于控制台交互

  • t :分配tty设备,该可以支持终端登录,默认为false

  • d:指定容器运行于前台还是后台,默认为false

  • v:给容器挂载存储卷,挂载到容器的某个目录

  • --net:容器使用自己自定义的网络

  • -p:是端口号

  • --restart:指定容器停止后的重启策略 no:容器退出时不重启 on-failure:容器故障退出(返回值非零)时重启 always:容器退出时总是重启

  • 解决redis容器启动redis.conf时启动及失败

    当我们认识了redis.conf的几个参数和docker run的几个常用参数后,我们来进行解决这个使用redis.conf启动时直接就失败问题。

    然后开始创建容器 有一部分伙伴会发现有一个错误`WARNING: IPv4 forwarding is disabled. Networking will not work.`

    先来解决这个问题

    执行命令`vim /usr/lib/sysctl.d/00-system.conf`

    添加以下代码`net.ipv4.ip_forward=1`

    重新启动network命令`systemctl restart network`

    在来执行一下就没有问题了

    然后进入到容器就会发现我们的问题了,创建容器后直接就退出了

    这个时候是不是很是郁闷,怎么就直接退出了。这也就是为什么在上文中,我们提出了redis.conf和docker run命令参数的一些配置信息。

    这个时候我们在回顾一下redis.conf里边是不是有一个`daemonize no`这个参数是是否以守护进程执行,在开发过程中我们都会把这个配置开启 配置为yes 。

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

    这下应该就很清楚了,是redis.conf跟docker配置冲突了

    打开配置文件把守护进程修改为no

    然后删除刚刚创建的redis容器,在此执行上边的命令,就可以看到容器现在已经创建成功,并且处于开启状态

    这个时候在进入容器`docker exec -it redis /bin/bash`里边,就可以看到我们在连接redis-cli时需要输入密码,这也就是在redis.conf里边配置的。

    下载本文
    显示全文
    专题