docker中安装redis

发布时间 2023-03-22 21:13:32作者: joudys
  1. 拉取镜像

     docker pull  redis:版本号
    

  1. 创建容器卷

    启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )
    之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
    当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。

     ##创建目录:
     mkdir -p  /mydata/redis/conf
     ##创建文件
     touch  /mydata/redis/conf/redis.conf
    

  1. 创建Redis容器并启动(一定注意 -d redis的位置)

    run -p 6379:6379\
    --restart always\
    -v /mydata/redis/data:/data\
    -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf\
    -d redis\
    redis-server /etc/redis/redis.conf\
    -appendonly yes\
    -requirepass 你的密码 
    

    命令解释:

    命令 描述
    -d redis 后台运行,不能少redis,不然会unable to find image
    -name redis 设置容器名称
    -p 6379:6379 将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口
    –restart unless-stopped 容器重启策略
    -v /mydata/redis/data:/data 将Redis储存文件夹挂在到主机
    -v /myredis/redis/conf/redis.conf:/etc/redis/redis.conf 将配置文件夹挂在到主机
    redis-server /etc/redis/redis.conf 这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
    --appendonly yes redis启动后开启数据持久化
    –requirepass 000415 设置密码 如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果是在云上,想向外开放的话,一定要设置不然容易被劫持

    一定要注意-d redis的位置,放在run 后面,启动容器后会自动关闭,放在redis-server后面会报unable find images "redis-server"


  1. 配置redis.conf文件
    #bind 127.0.0.1 以为只允许本地主机连接,改为0.0.0.0或者直接注释掉
    bind 0.0.0.0
    #为redis设置登录密码,如果在云上建议开启
    requirepass 密码
    #开启持久化
    appendonly yes
    
    配置完成后重新启动redis容器(docker restart 容器名)