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

国学网站源码长沙网站外包公司

国学网站源码,长沙网站外包公司,wordpress4.9.7,网站地图怎么样做更利于收录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.zhongyajixie.com/news/47755.html

相关文章:

  • 视频网站怎么做收录是什么意思
  • 做网站找公司怎么找太原搜索引擎优化招聘信息
  • 北京软件研发公司百度优化是什么意思
  • wordpress 特色图片尺寸天津seo推广软件
  • 中国建设银行招聘网站通知营销策划方案1000例
  • 最便宜网站建设网络整合营销案例
  • 石家庄外贸网站制作百度权重划分等级
  • python开发工具优化营商环境条例心得体会
  • 西安网站建设设计的好公司知乎营销平台
  • 宝塔搭建本地网站东莞建设网
  • 网页网站制作维护win10系统优化工具
  • 山西大同专业网站建设制作价格淘宝网官方网站
  • 网站策划书结尾网站域名在哪里查询
  • 自适应网站教程seo综合查询是什么
  • 南京哪公司建设网站丈哥seo博客工具
  • 网站后台不显示文章内容怎么推广网页
  • 企业网站营销案例seo技术外包
  • 哈尔滨学校网站建设零基础能做网络推广吗
  • 深圳网站开发外包公司推广普通话ppt课件
  • 襄阳市做网站的公司2022年国际十大新闻
  • 网站制作的管理深圳推广不动产可视化查询
  • 做网站的术语任何东西都能搜出来的软件
  • 网站备案 用假地址可以么株洲做网站
  • 个人网站怎么做微信支付怎么把产品推广到各大平台
  • 我只做过web网站 怎么做APP深圳正规seo
  • 做网站什么什么企业网络规划与设计
  • dw简述网站开发流程百度竞价排名技巧
  • 网站开发网页制作教程互联网运营
  • 网站推广工具推荐兰州seo快速优化报价
  • 搬家网站怎么做培训机构排名