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

Linux使用Docker部署安装应用

一、Redis7.4部署安装


1、 拉取 Redis 镜像

# 拉取最新版本
docker pull redis:7.4
# 或拉取特定版本
docker pull redis:6.2.6

2、 创建挂载目录并配置 Redis

创建宿主机目录conf,data

mkdir -p /opt/docker/redis/{conf,data}

下载并修改 Redis 配置文件:

# 下载官方配置文件(根据版本调整 URL)
wget https://raw.githubusercontent.com/redis/redis/7.4/redis.conf -O /opt/docker/redis/conf/redis.conf# 编辑配置文件
vim /opt/docker/redis/conf/redis.conf

关键配置修改:

bind 0.0.0.0                    # 允许远程访问
protected-mode no               # 关闭保护模式
port 6379                       # 默认端口
daemonize no                    # Docker 中禁用守护进程模式
requirepass yourpassword        # 设置访问密码(可选)
appendonly yes                  # 启用 AOF 持久化
dir /opt/docker/redis/data      # 数据存储目录(容器内路径)

4. 启动 Redis 容器

使用 docker run 命令:

docker run -d \--name redis_7.5 \--restart=always \--network host \-v /opt/docker/redis/conf/redis.conf:/opt/docker/redis/conf/redis.conf \-v /opt/docker/redis/data:/opt/docker/redis/data \redis:7.4 \redis-server /opt/docker/redis/conf/redis.conf

参数说明:

参数作用
-d后台运行容器
--name redis_7.5容器名称
--restart=always开机自动重启容器
-p 6379:6379映射宿主机与容器端口
-v ...挂载配置文件和数据目录
redis-server ...指定配置文件启动 Redis

5. 验证安装

检查容器状态:

[root@eulerzy data]# docker ps -a
CONTAINER ID   IMAGE       COMMAND                   CREATED         STATUS         PORTS     NAMES
eff5289195f6   redis:7.4   "docker-entrypoint.s…"   6 seconds ago   Up 6 seconds             redis_7.5

STATUS参数说明:

参数实例作用
Up Up 2 minutes容器正在运行中。时间表示容器已持续运行的时长。
ExitedExited (0) 5 minutes ago容器已正常停止(退出码为 0)或异常停止(退出码非 0,如 1、137 等);退出码 0:通常表示容器内的主进程正常结束。其他退出码:表示异常退出,例如进程崩溃、被信号终止(如 137 表示被 SIGKILL 终止)。
CreatedCreated 10 seconds ago容器已创建但尚未启动(例如,使用 docker create 创建后未执行 docker start,需要启动)
RestartingRestarting (1) 2 seconds ago容器正在重启中。通常与 restart policy(如 --restart=always)相关,表示容器因故障退出后正在自动重启。
PausedUp 1 hour (Paused)容器已被暂停。使用 docker pause 命令可以暂停容器内的所有进程,暂停后容器仍存在但不运行。
Dead-容器处于异常状态,无法正常启动或停止,可能需要手动清理:docker rm -f,清理全部:docker container prune

进入容器测试连接:

docker exec -it redis redis-cli
127.0.0.1:6379> auth abc123456 #配置文件设置的密码
OK
127.0.0.1:6379> ping
PONG

6. 使用 Docker Compose 部署(推荐)

创建 docker-compose.yml 文件:

version: '3.8'
services:redis:image: redis:7.4container_name: redisrestart: alwaysports:- "6379:6379"volumes:- ./redis/conf/redis.conf:/usr/local/etc/redis/redis.conf- ./redis/data:/datacommand: ["redis-server", "/usr/local/etc/redis/redis.conf"]

启动容器:

docker-compose up -d

7. 常见问题与注意事项

1. 无法远程访问 Redis
  • 检查防火墙规则,开放 6379 端口。
  • 确保 bind 0.0.0.0protected-mode no 已配置。
2. 数据持久化失败
  • 确认挂载目录权限:
    chmod -R 777 /opt/docker/redis/data
    
  • 检查 dir /dataappendonly yes 是否启用。
3. 版本差异问题
  • Redis 7.x 默认配置路径可能为 /usr/local/etc/redis/redis.conf,需通过 docker exec 确认。
4. 内存管理
  • 在配置文件中设置最大内存策略(如 maxmemory 2gbmaxmemory-policy allkeys-lru)。

8. 安全建议

  • 密码保护:始终设置 requirepass
  • 网络隔离:在生产环境中使用 Docker 自定义网络,限制 Redis 暴露范围。
  • TLS 加密:若需加密通信,启用 tls-port 并配置证书(适用于 Redis 6.x+)。

通过以上步骤,你可以完成 Redis 的完整 Docker 部署,并确保数据持久化、安全性和稳定性。如果有进一步问题,欢迎随时提问!

http://www.xdnf.cn/news/5096.html

相关文章:

  • Papyrus字体介绍
  • 为什么消息队列系统不像数据库系统那样可以配置读写分离?
  • Docker基础入门:容器化技术详解
  • PH热榜 | 2025-05-09
  • class path resource [] cannot be resolved to absolute file path
  • powershell_bypass.cna 插件(适配 Cobalt Strike 4.0 的免费版本下载地址)
  • FreeRTOS菜鸟入门(十四)·事件
  • Prometheus生产实战全流程详解(存储/负载/调度篇)
  • 认识拦截器
  • 如何获取NumPy数组中前N个最大值的索引
  • Qt6.x检查网络是否在线(与Qt 5.x不同)
  • 有关SOA和SpringCloud的区别
  • 软件设计师教程——第一章 计算机系统知识(下)
  • 数据库插入数据时自动生成
  • Python开发后端InfluxDB数据库测试接口
  • Python 数据分析与可视化:开启数据洞察之旅(5/10)
  • T-SQL在SQL Server中判断表、字段、索引、视图、触发器、Synonym等是否存在
  • 详解 c++17 重载类 overload的每一条语句,附实例.
  • Dify之八添加各种在线大模型
  • P1020 [NOIP 1999 提高组] 导弹拦截
  • Java——多态
  • 热力图是什么?三分钟学会热力图数据分析怎么做!
  • Dify MCP实战 - 邮件发送
  • 【动态导通电阻】p-GaN HEMTs正向和反向导通下的动态导通电阻
  • MySQL数据库故障排查与解决方案
  • VMware中ubuntu虚拟机基本配置
  • 时间有变!Sui Overflow 2025 最新安排
  • Auto DOP:让并行执行实现智能调优 | OceanBase 实践
  • Python实例题:Python快速获取斗图表情
  • 电机试验平台:实现性能评估与优化的关键工具