CentOS 7下Docker部署Redis与PostgreSQL实战指南
1. 项目概述在CentOS 7环境下搭建Docker容器平台并部署Redis和PostgreSQL数据库是当前企业级应用开发的标配环境。这套技术栈结合了容器化的便捷性和高性能数据库的优势特别适合需要快速迭代的互联网应用场景。我最近在客户现场部署了一套生产环境发现很多工程师对这三个组件的协同安装存在困惑。本文将分享我在CentOS 7.9系统上的完整安装实录包含从系统准备到服务调优的全流程以及实际部署中遇到的典型问题解决方案。2. 环境准备与基础配置2.1 系统初始化检查首先确认系统版本和内核符合Docker运行要求cat /etc/redhat-release # 确认是CentOS 7.x uname -r # 内核版本需≥3.10重要提示如果使用云服务器请先检查虚拟化支持egrep --color vmx|svm /proc/cpuinfo若无输出则需要联系云厂商开启虚拟化支持2.2 配置阿里云YUM源替换默认源提升软件下载速度sudo yum install -y wget sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sudo yum makecache2.3 关闭SELinux和防火墙避免权限问题导致容器异常sudo setenforce 0 sudo sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config sudo systemctl stop firewalld sudo systemctl disable firewalld3. Docker安装与配置3.1 安装Docker CE官方推荐安装方式sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io3.2 配置镜像加速创建或修改daemon.jsonsudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://registry.docker-cn.com], exec-opts: [native.cgroupdriversystemd], log-driver: json-file, log-opts: { max-size: 100m } } EOF3.3 启动并验证Dockersudo systemctl start docker sudo systemctl enable docker docker --version docker run hello-world # 测试基础功能4. Redis容器化部署4.1 拉取官方镜像推荐使用带alpine标签的轻量版docker pull redis:6-alpine4.2 创建持久化数据目录mkdir -p /data/redis/{data,conf} chmod -R 777 /data/redis4.3 自定义配置文件创建redis.confcat /data/redis/conf/redis.conf EOF bind 0.0.0.0 protected-mode no port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize no supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /data EOF4.4 启动Redis容器docker run -d --name redis \ -p 6379:6379 \ -v /data/redis/data:/data \ -v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \ --restart always \ redis:6-alpine redis-server /usr/local/etc/redis/redis.conf4.5 连接测试docker exec -it redis redis-cli INFO SERVER5. PostgreSQL容器化部署5.1 拉取官方镜像docker pull postgres:13-alpine5.2 创建数据目录mkdir -p /data/pgsql/{data,conf,backup} chmod -R 777 /data/pgsql5.3 启动PostgreSQLdocker run -d --name pgsql \ -p 5432:5432 \ -e POSTGRES_PASSWORDyourpassword \ -e PGDATA/var/lib/postgresql/data/pgdata \ -v /data/pgsql/data:/var/lib/postgresql/data \ -v /data/pgsql/backup:/backup \ --restart always \ postgres:13-alpine5.4 基础配置优化进入容器修改配置docker exec -it pgsql bash vi /var/lib/postgresql/data/pgdata/postgresql.conf建议修改的关键参数max_connections 200 shared_buffers 256MB effective_cache_size 768MB maintenance_work_mem 64MB checkpoint_completion_target 0.9 wal_buffers 16MB default_statistics_target 100 random_page_cost 1.1 effective_io_concurrency 200 work_mem 4MB6. 常见问题排查6.1 Docker启动失败症状Failed to start docker.service: Unit not found解决方案sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo rm -rf /var/lib/docker sudo yum install -y docker-ce docker-ce-cli containerd.io6.2 Redis连接超时检查项确认redis.conf中bind 0.0.0.0检查防火墙状态systemctl status firewalld测试端口连通性telnet 服务器IP 63796.3 PostgreSQL认证失败修改pg_hba.confhost all all 0.0.0.0/0 md5然后重启容器docker restart pgsql7. 性能调优建议7.1 Docker层面优化限制容器内存使用docker update --memory 1g --memory-swap -1 redis配置日志轮转sudo tee /etc/docker/daemon.json -EOF { log-driver: json-file, log-opts: { max-size: 10m, max-file: 3 } } EOF7.2 Redis生产配置建议启用持久化appendonly yes appendfsync everysec设置最大内存maxmemory 2gb maxmemory-policy allkeys-lru7.3 PostgreSQL生产建议定期维护docker exec pgsql pg_dumpall -U postgres /backup/full_backup.sql监控慢查询log_min_duration_statement 1000 log_statement none

相关新闻

企业网端口安全配置实战:杜绝私接路由器,从MAC地址管控做起

企业网端口安全配置实战:杜绝私接路由器,从MAC地址管控做起

如果你是一名企业网络管理员,或者负责维护公司内部网络的工程师,那么下面这个场景你一定不陌生:某个部门的网络突然变得异常缓慢,甚至大面积掉线,你火急火燎地排查核心交换机、防火墙、出口路由器,却发现一…

2026/10/12 7:33:44 阅读更多 →
嵌入式以太网协议实战:从STM32到工业以太网与车载应用

嵌入式以太网协议实战:从STM32到工业以太网与车载应用

1. 项目概述:从“线缆”到“生态”的进化之路 提起“以太网”,很多人的第一印象可能就是电脑后面那个插着水晶头的方形接口,或者是一根灰色的网线。这没错,但它只是冰山一角。今天我想聊的,是支撑起这张庞大网络的基石…

2026/10/15 18:18:36 阅读更多 →
Deployment-001篇

Deployment-001篇

文章目录 第一部分:为什么必须要有 Deployment? 1. 自主式 Pod 的痛点(生产环境的灾难) 2. Deployment 的解决方案 第二部分:Deployment 的架构层级 第三部分:你的第一个 Deployment(动手) 1. 编写 YAML 文件 2. 执行命令 3. 验证自愈能力(重点实验) 第四部分:Deplo…

2026/10/6 10:21:01 阅读更多 →

最新新闻

N_m3u8DL-RE 完全指南:M3U8/MPD 下载、选流与加密流解密一次讲透

N_m3u8DL-RE 完全指南:M3U8/MPD 下载、选流与加密流解密一次讲透

N_m3u8DL-RE 完全指南:M3U8/MPD 下载、选流与加密流解密一次讲透 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3…

2026/10/16 5:53:44 阅读更多 →
Rust RFC 2539 解读:`cfg_attr` 多属性支持——让条件编译属性告别谓词重复

Rust RFC 2539 解读:`cfg_attr` 多属性支持——让条件编译属性告别谓词重复

文档 【免费下载链接】rfcs RFCs for changes to Rust 项目地址: https://gitcode.com/gh_mirrors/rf/rfcs 点击查看 免费下载 导读 #[cfg_attr] 是 Rust 条件编译体系中最灵活的成员之一:它把「条件判断」与「属性注入」绑定在一起,让同一…

2026/10/16 5:53:44 阅读更多 →
AB Download Manager 浏览器扩展:Edge 上能不能用、怎么装

AB Download Manager 浏览器扩展:Edge 上能不能用、怎么装

AB Download Manager 浏览器扩展:Edge 上能不能用、怎么装 【免费下载链接】ab-download-manager A Download Manager that speeds up your downloads 项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager 你在 Edge 里想接上 AB Downloa…

2026/10/16 5:53:44 阅读更多 →
MCP协议:让AI工具互联互通,告别点对点适配

MCP协议:让AI工具互联互通,告别点对点适配

MCP(Model Context Protocol)最近在AI开发者圈子里讨论度非常高,简单说它就是给AI工具之间定的一套“普通话”。以前每个AI应用想接外部工具,都要开发一堆私有接口,换一个平台就得重新适配一遍,要么写胶水代…

2026/10/16 5:53:44 阅读更多 →
rea trace 命令实战:从一行字符串线索到功能实现代码的三步闭环

rea trace 命令实战:从一行字符串线索到功能实现代码的三步闭环

rea trace 命令实战:从一行字符串线索到功能实现代码的三步闭环 【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea 拿到一个程序&#xff…

2026/10/16 5:53:44 阅读更多 →
GLSL mod() 取模函数深度解析:The Book of Shaders 中实现周期性平铺、索引与动画的基石

GLSL mod() 取模函数深度解析:The Book of Shaders 中实现周期性平铺、索引与动画的基石

【免费下载链接】thebookofshaders Step-by-step guide through the abstract and complex universe of Fragment Shaders. 项目地址: https://gitcode.com/gh_mirrors/th/thebookofshaders 点击查看 免费下载 导读 mod() 是 GLSL 中最基础也最高频的数学函数之一…

2026/10/16 5:52:44 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →