当前位置: 首页 > wzjs >正文

河北衡水建设网站公司电话快速排名点击工具

河北衡水建设网站公司电话,快速排名点击工具,网站开发项目经验,个人建设网站如何定位Docker 搭建 Redis 数据库 前言一、准备工作二、创建 Redis 容器的目录结构三、启动 Redis 容器1. 通过 redis.conf 配置文件设置密码2. 通过 Docker 命令中的 requirepass 参数设置密码 四、Host 网络模式与 Port 映射模式五、检查 Redis 容器状态六、访问 Redis 服务总结 前言…

Docker 搭建 Redis 数据库

  • 前言
  • 一、准备工作
  • 二、创建 Redis 容器的目录结构
  • 三、启动 Redis 容器
    • 1. 通过 redis.conf 配置文件设置密码
    • 2. 通过 Docker 命令中的 requirepass 参数设置密码
  • 四、Host 网络模式与 Port 映射模式
  • 五、检查 Redis 容器状态
  • 六、访问 Redis 服务
  • 总结


前言

Redis 是一个开源的高性能键值对存储系统,广泛用于缓存、消息队列等场景。通过 Docker 部署 Redis,能够让你轻松快速地运行 Redis 服务,同时灵活地进行配置和管理。

本篇文章将指导你通过 Docker 部署 Redis 容器,并讲解如何挂载配置文件来设置密码、监听端口及其他自定义设置。


一、准备工作

首先,确保你的系统上已经安装了 Docker。

Linux上进行Docker安装有两种方式:

  1. Docker自动化安装
  2. Docker手动安装

可以根据该文章的步骤进行安装:https://blog.csdn.net/weixin_44876263/article/details/136714078?spm=1001.2014.3001.5502

二、创建 Redis 容器的目录结构

为了更好地管理 Redis 的数据和配置文件,我们首先创建一些本地目录,用于存放 Redis 的配置文件和数据文件。

# 安装路径
DIR="/opt/docker/demo"
DOCKER_NAME="docker-redis"# 创建目录结构
mkdir -p "$DIR/redis/data"
mkdir -p "$DIR/redis/conf"
  • conf:存放 Redis 的配置文件(如 redis.conf)。
  • data:存放 Redis 数据文件。

三、启动 Redis 容器

1. 通过 redis.conf 配置文件设置密码

在启动 Redis 容器之前,我们需要准备好 Redis 的配置文件。在容器内,Redis 使用 redis.conf 配置文件来管理服务的行为。你可以选择自定义这个文件中的设置,如密码、端口、持久化方式等。

获取配置文件:你可以从 Redis 官方镜像容器中复制 redis.conf 文件,或者手动创建一个。

  1. 启动临时 Redis 容器来获取配置文件:

    docker run --name redis_test -d redis:6
    
  2. 复制 redis.conf 文件到本地目录:

    docker cp redis_test:/usr/local/etc/redis/redis.conf "$DIR/redis/conf/redis.conf"
    
  3. 删除临时 Redis 容器:

    docker rm -f redis_test
    
  4. 在 redis.conf 配置文件中,你可以通过设置 requirepass 来启用密码保护。打开 redis.conf 文件,找到以下配置并取消注释:

    requirepass yourpassword
    

    yourpassword 替换为你希望设置的密码(例如 123456)。如果你希望修改其他配置(如监听端口),也可以在这个文件中进行修改。

    常见的 Redis 配置项:

    • port:设置 Redis 的监听端口,默认是 6379。
    • bind:指定 Redis 监听的 IP 地址,确保只允许来自特定 IP 的连接。
    • requirepass:启用密码保护。

    例如,如果你希望将 Redis 监听端口修改为 6380,可以修改配置文件中的 port 配置项:

    port 6380
    
  5. 启动 Redis 容器
    一旦准备好了 redis.conf 配置文件,我们可以通过以下命令启动 Redis 容器,并挂载本地目录到容器内:

    docker run -d \--restart=always \--privileged=true \--log-opt max-size=100m \--log-opt max-file=2 \--name "$DOCKER_NAME" \--network host \-v "$DIR/redis/conf/redis.conf:/etc/redis/redis.conf" \-v "$DIR/redis/data:/data" \-v /etc/localtime:/etc/localtime \redis:6 redis-server /etc/redis/redis.conf --appendonly yes
    

    解释参数:

    • -d:后台运行容器。
    • --restart=always:容器在崩溃或系统重启后自动重启。
    • --privileged=true:授予容器额外权限,通常用于需要特殊访问权限的操作。
    • --log-opt max-size=100m--log-opt max-file=2:配置日志文件大小和最大文件数,避免日志文件过大。
    • --name "$DOCKER_NAME":指定容器名称,这里是 docker-redis
    • --network host:容器将使用宿主机的网络栈,直接暴露端口。
    • -v "$DIR/redis/conf/redis.conf:/etc/redis/redis.conf":将本地的 redis.conf 配置文件挂载到容器内。
    • -v "$DIR/redis/data:/data":将 Redis 数据文件挂载到容器内,确保数据持久化。
    • -v /etc/localtime:/etc/localtime:确保容器的时区与宿主机一致。
    • redis:6 redis-server /etc/redis/redis.conf --appendonly yes:指定 Redis 镜像并使用自定义配置文件启动 Redis,开启 appendonly 持久化。

优点:

  • 配置灵活,可以同时设置 Redis 的多项参数(如端口、密码、持久化等)。
  • 容器内部的 Redis 配置和密码设置与容器外部一致,便于管理。

缺点:

  • 需要手动准备和维护 redis.conf 文件。
  • 配置文件较为复杂,可能需要额外的操作才能适应不同的需求。

2. 通过 Docker 命令中的 requirepass 参数设置密码

直接在 Docker 启动命令中通过 requirepass 参数来设置密码是一种简便快速的方法。适用于简单场景,尤其是只需要设置密码而不需要更改其他配置时。

使用以下命令启动 Redis 容器,并通过 requirepass 参数直接设置密码:

docker run -d \--restart=always \--privileged=true \--log-opt max-size=100m \--log-opt max-file=2 \--name "$DOCKER_NAME" \--network host \-v "$DIR/redis/data:/data" \-v /etc/localtime:/etc/localtime \redis:6 redis-server --appendonly yes --requirepass "123456"

这里,我们直接通过命令行中的 --requirepass 参数来设置密码,避免了配置文件的修改。

优点:

  • 快速简便,适合不需要修改其他 Redis 配置的场景。
  • 不需要手动编辑或管理 redis.conf 配置文件。

缺点:

  • 只能设置密码,无法进行其他复杂的配置(如修改端口、持久化等)。
  • 密码直接写在命令行中,可能会有安全隐患(尤其是日志中可能会记录命令)。

四、Host 网络模式与 Port 映射模式

在 Docker 中,容器的端口配置是非常关键的。Redis 容器支持两种主要的端口配置方式:Host 网络模式Port 映射模式

  1. Host 网络模式
    如果你使用 --network host,容器将共享宿主机的网络栈,这意味着容器直接使用宿主机的 IP 地址和端口来暴露服务。容器会监听宿主机的 Redis 默认端口(6379),而无需进行端口映射。

    配置命令:

    docker run -d \--restart=always \--privileged=true \--log-opt max-size=100m \--log-opt max-file=2 \--name "$DOCKER_NAME" \--network host \-v "$DIR/redis/conf/redis.conf:/etc/redis/redis.conf" \-v "$DIR/redis/data:/data" \-v /etc/localtime:/etc/localtime \redis:6 redis-server /etc/redis/redis.conf --appendonly yes
    
    • 优点
      • 容器共享宿主机的网络,性能较高。
      • 无需显式端口映射,容器与宿主机共享相同的网络。
    • 缺点
      • 容器与宿主机的网络完全共享,可能会有端口冲突,尤其是多个容器或服务同时运行时。
      • 容器的端口与宿主机端口相同,可能存在安全隐患。
  2. Port 映射模式
    如果你希望使用宿主机的特定端口来访问容器内的服务,可以使用 -p 参数进行端口映射。通过这种方式,容器内部的端口(例如 6379)将映射到宿主机的另一个端口(例如 6380)。

    配置命令:

    docker run -d \--restart=always \--privileged=true \--log-opt max-size=100m \--log-opt max-file=2 \--name "$DOCKER_NAME" \-p 6380:6379 \-v "$DIR/redis/conf/redis.conf:/etc/redis/redis.conf" \-v "$DIR/redis/data:/data" \-v /etc/localtime:/etc/localtime \redis:6 redis-server /etc/redis/redis.conf --appendonly yes
    

    在这个配置中:

    -p 6380:6379:将宿主机的 6380 端口映射到容器的 6379 端口。你可以通过宿主机的 http://localhost:6380 访问 Redis 服务。

    • 优点
      • 容器共享宿主机的网络,性能较高。
      • 无需显式端口映射,容器与宿主机共享相同的网络。
    • 缺点
      • 容器与宿主机的网络完全共享,可能会有端口冲突,尤其是多个容器或服务同时运行时。
      • 容器的端口与宿主机端口相同,可能存在安全隐患。

五、检查 Redis 容器状态

容器启动后,你可以通过以下命令查看容器状态,确保它在运行中:

docker ps

如果容器未正常运行,可以查看日志进行排查:

docker logs docker-redis

六、访问 Redis 服务

完成上述步骤后,你可以通过客户端连接到 Redis 容器并进行操作。使用 Redis CLI 连接时,需要提供密码:

redis-cli -h localhost -p 6379 -a 123456 # Host 网络模式

其中,localhost 是 Redis 服务所在的宿主机地址,6379 是 Redis 默认的监听端口,123456 是我们设置的密码。

或者如果使用了端口映射:

redis-cli -h localhost -p 6380 -a 123456   # Port 映射模式

总结

通过 Docker 部署 Redis 容器非常简便,并且可以灵活配置各个参数。你可以使用挂载本地目录来管理 Redis 的配置文件、数据文件和日志文件,这样可以确保配置和数据持久化存储。设置密码保护是保障 Redis 安全性的重要措施,推荐通过 redis.conf 配置文件来管理密码。

两种端口配置方式(Host 网络模式和 Port 映射模式)可以根据需求选择。Host 网络模式适合性能要求高的场景,而 Port 映射模式则更灵活且能有效避免端口冲突。

http://www.dtcms.com/wzjs/428602.html

相关文章:

  • 做网站图片处理问题今日重大国际新闻军事
  • 工作室官网长春关键词优化平台
  • 自己编写代码建设微网站seo网络优化公司
  • java网站开发模式有哪些厦门seo网站推广
  • 单页面网站制作柳州网站建设哪里有
  • 怎样用vs2017做网站成品网站源码1688免费推荐
  • 济南网站建设公司导航网站怎么推广
  • wordpress看文网站一起来看在线观看免费
  • 长治网站设计制作网站怎么快速优化关键词排名
  • 怎么制作网站教程下载店铺推广怎么做
  • html个人网页中文模板百度seo关键词报价
  • 互联网产品做网站好还是小程序百度seo怎么把关键词优化上去
  • 旅游网站的后台管理系统怎么做seo优化标题 关键词
  • wordpress博客站点地图百度竞价广告代理
  • 西安网站建设ipv6西安最新消息今天
  • 萍乡网站建设公司百度下载软件
  • 小型网站开发成本软件排名优化
  • 东莞网站seo优化托管全国培训机构排名前十
  • 好网站建设公司北京外贸网站优化推广
  • 网站 色调汕头百度网络推广
  • 如何设计一个网络搜索引擎优化的实验结果分析
  • 校园网站建设素材优化大师官方免费下载
  • 网站建设中 模板 下载商丘seo外包
  • 做网站如何挣钱石家庄seo管理
  • 成都网站建设q479185700棒十大少儿编程教育品牌
  • 重庆做网站做得好的公司百度不让访问危险网站怎么办
  • 徐州市建设局招投标网站网络营销产品策略的内容
  • 网站系统介绍宁波seo外包代运营
  • 化妆品商城网站建设开发策划方案网站seo教程
  • 广州派出所门户网站站长工具seo查询5g5g