首页 > 数据库 >Docker 安装Redis 无法使用配置文件设置密码问题

Docker 安装Redis 无法使用配置文件设置密码问题

时间:2023-08-24 23:34:42浏览次数:39  
标签:容器 配置文件 启动 Redis redis 密码 Docker docker

背景

  最近开发需要使用各种组件,如果都到开发机上安装,会占用电脑资源较多。所以使用docker容器来安装这些组件。例如 redis 、mongodb、mysql、rabitmq、elasticsearch 等等。

遇到的问题

  用edis官方镜像启动容器后,发现没有加载配置文件。

解决方案

  1.redis镜像拉下来后,通过docker run 命令创建并启动容器。不能使用docker desktop 工具运行容器,那个工具貌似只能设置端口及容器名字,没找到 挂载配置文件启动redis的设置。

  2.通过docker desktop 或者 docker 命令  docker pull redis:latest 最新的redis 镜像。

  3. 通过 下面的命令 创建并运行容器

  docker run -p 6379:6379 --name myredis -d redis redis-server /etc/redis/redis.conf --appendonly yes

  -p  映射redis 使用6379端口

  --name 指定容器名字 为 myredis

  -d 指定使用的镜像名字 ,是用redis 镜像创建容器,后面紧接的参数 redis-server 是容器启动后,执行redis-server 命令 并挂载 etc/redis/redis.conf 文件 。

  -- appendonly yes 表示启动redis时打开redis 持久化配置。

  这让创建容器,容器会启动失败。

  通过docker ps 查看当前的容器,找到刚创建的容器,通过 docker logs 容器id  查看容器的启动日志,或者通过docker desktop 工具点击对应的容器,然后点击Logs选项卡,查看日志。

  日志里会提示 /etc/redis/redis.conf  文件不存在。

  此时我们可以通过 docker exec -it 【容器id】/bin/bash 命令进入容器,容器内也是一个liunx 系统,可以通过liunx命令创建对应的目录和配置文件,并通过vi命令编辑文件,设置密码。

  或者通过Docker DeskTop 工具 进入容器后点击Files 就可以像在windows 下一样,以文件夹的方式浏览容器内的文件,

  可以找到对应的目录,将本地的文件上传上去(注意只能上传文件夹,可以到本地建个redis 目录,里面包含redis.conf 文件配置,然后将目录上传到对应的文件夹)。见图:  

   配置里编辑好要设置的密码。文件上传到容器内后,点击右上角的restart 重启容器,容器内的redis就会自动加载配置文件。里面就指定了密码。注意配置里的bind 127.0.0.1 配置需要注释掉,

  不然外部无法连接容器内的redis。

  重启容器后,可以通过 进入容器内的redis 

  docker exec -it [容器id]  redis-cli   

  或者 

  docker exec -it [容器id] /bin/bash

  redis-cli -h 127.0.0.1 -p 6379 -a 123456

  进入容器后,通过 config get requirepass 命令获取当前配置的账号密码,如果指定密码登录了,会返回当前的密码。

  如果通过第一个命令直接进入,会提提示需要验证密码,此时可以通过auth 【密码】 命令验证redis的密码。

  也可以重新修改密码 config set requirepass [新密码] 修改后保存回 配置文件  config rewrite
  到这里 docker redis 通过配置启动,修改密码等操作已完成。

  之前在网上找了很多资料,大部分都是通过 docker run 命令 加  -v 参数 挂载 主机 目录及配置文件,这种方式我没成功~不知道问题出在哪里,最后启动的redis 都没有应用上配置文件,

  且查看容器内映射的配置文件,redis.conf 它显示的是目录,不是文件...

  

  如果通过Docker Desktop 工具的镜像管理直接启动容器,不能指定的容器内redis启动时挂载 redis.conf 配置。Environment variables 参数设置也不起作用。 docker desktop 是方便,但是需要额外设置一些参数,还是需要通过 

  docker run 命令来创建和启动容器。

 

 

标签:容器,配置文件,启动,Redis,redis,密码,Docker,docker
From: https://www.cnblogs.com/joey0210/p/docker-redis-conf.html

相关文章

  • CentOS7.9搭建开发环境(Java、MySQL、Nginx、Redis)
    系统使用的阿里云CentOS7.964位SCC版。先安装个文件上传下载工具lrzsz,xshell登录终端,运行下面的命令:yuminstall-ylszrz 这是因为yum源的问题,需要修改yum配置。执行以下命令:cd/etc/yum.repos.dmvCentOS-Base.repoCentOS-Base.repo.backupwgethttp://mirrors.......
  • 使用 docker 打包构建部署 Vue 项目,一劳永逸解决node-sass安装问题
    文章源于Jenkins构建Vue项目失败,然后就把node_modules删了重新构建发现node-sass安装不上了,折腾一天终于可以稳定构建了。犹记得从学node的第一天,就被node-sass折磨了一整天,后面本地没问题了然后服务器开始折磨了,这次又遇到,尝试了一次又一次,还是用本地包构建最稳,觉......
  • 三、利用 Docker-Slim 缩小 Docker 镜像大小
    有时项目构建出来的Docker大小挺大的,找了好几个缩小Docker镜像的方法,在这里分享一个很棒的方法来优化和缩小Docker镜像并减小镜像体积大小。Docker-SlimDocker-Slim不会更改Docker容器映像中的任何内容并将其缩小多达30倍。Docker-Slim将通过使用各种分析技术了解您的......
  • docker想保留ip和端口其他的不要,想把这个变成linux的命令怎么做?
    docker想保留ip和端口其他的不要,想把这个变成linux的命令怎么做?dockerps只会显示这样一坨东西,看ip和端口又不好看456746ec7581moxi/mogu_blog_nacos"/usr/sbin/init"12hoursagoUp12hours0.0.0.0:465->465/tcp,:::465->465/tcp,0.0.0.0:3306->3306/tcp,:......
  • Docker下搭建Redis集群
    一、Redis集群方案的简单介绍Redis集群的方案一般分为三种:哈希取余分区一致性哈希算法分区哈希槽分区(本文介绍的就是这种) 1、哈希取余分区:优点:简单粗暴,只要提前预估好数据量,然后规划好节点,例如:3台、30台、300台节点,就能保证未来一段时间内的数据支撑。 缺点:事先规......
  • linux的用户配置文件(4个用户文件)
    Linux中用户与组原创 凉兮 凉兮的运维日记 2023-08-2411:07 发表于北京收录于合集#linux11个#管理员1个#linux系统5个一、基本概念1、基本介绍    Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登录到系统上,并响应每个用户的请求。任何......
  • 随笔(三十)『Dockerfile 构建ubuntu镜像练习』
    1、将需要用的java8传到宿主机,同级目录下创建Dockerfile2、编写DockerfilevimDockerfile#基础镜像来自哪里FROMFROMubuntu#作者信息MAINTAINERMAINTAINERshendian#定义个环境变量ENVENVMYPATH/usr/local#进入容器后的位置WORKDIRWORKDIR$MYPATH#镜......
  • Docker 本地私有仓库
    目录一、本地私有仓库二、搭建本地私有仓库1.下载registry镜像2.在daemon.json文件中添加私有镜像仓库地址3.运行registry容器4.镜像打新标签5.上传到私有仓库6.列出私有仓库的所有镜像7.列出私有仓库的centos镜像有哪些tag8.私有仓库下载镜像一、本地私有仓库......
  • adocker yml如何操作才能让搭建的redis集群能通过外网访问ip+端口的集群所有信息
    要在Docker中操作以便通过外部网络访问Redis集群的IP和端口,您需要执行以下操作:首先,您需要创建一个DockerComposeYAML文件(docker-compose.yml),用于定义Redis集群的配置。在此文件中,您可以指定每个Redis节点的配置和网络设置。以下是一个示例配置:version:'3'services:redis1:......
  • docker安装elasticsearch和kibana
    下载镜像和启动镜像:dockersearchelasticsearchdockerpullnshou/elasticsearch-kibanadockerrun-d-p9200:9200-p9300:9300-p5601:5601--nameeskibananshou/elasticsearch-kibana访问:http://127.0.0.1:9200/访问:http://127.0.0.1:5601/参考:http://www.51gjie.com......