第 4 章 数据库与容器

一句话回答

1Panel 上的所有应用——包括 MySQL、Redis、你装的一切——本质都是 Docker 容器。所以这一章的逻辑很简单:数据库是「内容」(管数据),容器是「底座」(管运行),备份迁移是「保险」(管兜底)。三者配齐,你的服务器才算真正「活」起来。

这一章在讲什么

第 3 章我们把网站建起来了。但网站只是「门面」,它背后还站着两位配角:

  • 数据库:存文章、订单、用户数据的地方。网站挂了能重启,数据没了是真的没了。
  • 容器:1Panel 是基于 Docker 的面板,你安装的每一个应用(包括数据库本体)都是一个容器。不懂容器,应用出了问题就只会重启。

这一章带你把这两位配角认全、用熟,再配上备份迁移这条退路。

四节速览

小节 内容 你能学会
4.1 MySQL/PostgreSQL 数据库实例管理、建库建用户、Web 管理、备份 给网站配一个靠谱的数据库
4.2 Redis 与应用商店 Redis 实例、持久化,以及应用商店的安装与生命周期管理 一键装应用,且装得明白
4.3 容器、镜像与 Compose Docker 容器、镜像、编排、网络、存储卷的日常操作 看懂容器世界,排错有思路
4.4 数据备份与迁移 应用/数据库备份、系统快照、跨机器迁移 给整个服务器上份保险

一个重要的认知:1Panel = Docker 的「图形化外壳」

很多新手装完 1Panel,以为它像宝塔那样直接在系统里跑 MySQL、Nginx。不是的。1Panel 的核心设计是:一切应用都跑在 Docker 容器里。

这意味着两件事:

  1. 好消息:应用互不干扰、卸载干净、升级方便——容器天然隔离。
  2. 要适应的:你在终端里敲 mysql -uroot 是连不上面板装的 MySQL 的,因为它在容器里。得通过面板的「连接信息」或者 docker exec 进去。

这个认知贯穿全章,也是理解后面所有操作的关键。

数据库与容器的协作关系

一张图看懂它们怎么配合:

你的网站(PHP/Java/...)
   ├─ 读写数据 → MySQL 容器(数据库菜单管理)
   ├─ 缓存加速 → Redis 容器(数据库菜单管理)
   └─ 本身也是 → 一个容器(应用商店 / 运行环境创建)
           ↑
      都由 Docker 底座承载(容器菜单管理)
           ↑
      备份与迁移兜底(4.4 节)

管理入口的分工:

你想做的事 去哪个菜单
建数据库、建用户、改密码 数据库 → MySQL/PostgreSQL
重启数据库实例本身 容器(找到对应容器)或应用商店已安装
装个新应用(WordPress、Halo…) 应用商店
看某个应用占多少内存 容器 → 容器统计
备份所有东西 各应用的备份 + 计划任务 + 系统快照

一条主线:从「装」到「保」

这一章的阅读顺序就是一条完整的运维链:

装数据库(4.1)→ 装应用(4.2)→ 管容器(4.3)→ 备份迁移(4.4)

前两节解决「让服务跑起来」,第三节解决「看懂它在怎么跑」,最后一节解决「跑坏了怎么办」。每节都配了常见问答和排错思路,可以当手册查阅。

学习顺序建议

你的情况 建议路径
纯新手,什么都没装 4.1 → 4.2 → 4.3 → 4.4,从头顺着读
只想快点建个 WordPress 4.1(建库建用户)→ 直接应用商店装,4.2 够用就行
应用都在跑,想学着排错 直接看 4.3(容器、日志、统计),再回头补 4.4(备份)
打算换服务器 直接看 4.4 的迁移部分,其他按需查

一个提醒:数据库(4.1、4.2)和容器(4.3)的知识是独立的——你可以先学容器再看数据库,顺序不影响理解。但 4.4 的备份迁移建议最后看,因为它建立在前三节都跑起来的基础上。

新手最容易踩的三个坑

坑一:数据库端口怎么都连不上。 容器里的数据库默认不对外暴露,本机其他程序要连得先在应用设置里把端口映射出来;远程连接还要再过防火墙和云安全组两道门(详见 5.2 节)。新手常以为是密码错了,其实地址和端口根本没通。

坑二:容器删了,数据还在吗? 取决于当时配置了持久化没有。应用商店安装时一般会自动挂载数据目录,这种情况数据在容器外面,删容器不删数据;但如果你手动改过容器内部的文件(没走挂载),那些改动会随容器一起消失。记住一条:删除任何容器、镜像、存储卷之前,先确认数据存在哪。

坑三:面板里找不到「重启数据库」的按钮。 数据库实例本身是容器——重启它要去容器菜单或应用商店 → 已安装,而不是数据库菜单。数据库菜单管的是库和用户,容器菜单管的是进程。这个分工搞清楚,能少走一半弯路。

前置条件

  • 面板已正常安装(第 2 章),Docker 状态正常(容器概览页有提示);
  • 建议先看 2.2 节配好一个备份账号(OSS/网盘),本章 4.4 节直接用;
  • 域名与网站的基本概念(第 3 章)有助于理解数据库给谁用。

本章的边界

  • 不教 SQL 语法:建库建用户是面板的事,写查询是你业务的事;
  • 不深入 Docker 底层原理:够用、能排错为准,想深入可看 Docker 官方文档;
  • 企业版多节点:本章以单机版为主线,多节点只在相关处提一句。

数据库与容器的官方功能说明,见《1Panel 官方文档:功能手册》中的「数据库」与「容器」两章。更系统的进阶玩法(集群、多节点、性能调优),可参阅《1Panel 进阶实战》。

下一节:先从最常用的 MySQL 讲起——怎么装、怎么建库、怎么给网站用上。