⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

10.2.1 应用商店还是自定义——界面操作:应用商店 vs 自定义应用

1Panel 的精髓在于:把 Docker 的复杂命令变成了可视化表单。

两种部署方式对比

特性应用商店自定义应用
配置复杂度低,表单填写中,需理解 Docker
可选版本有限,商店提供的任意,自己指定镜像
适用场景标准化服务(数据库、中间件)自研项目、特殊需求
维护成本低,一键升级中,需手动更新

应用商店:开箱即用

应用商店能装什么

分类常用应用
数据库MySQL、PostgreSQL、Redis、MongoDB
Web服务Nginx、OpenResty、Caddy
开发工具Node.js、Python、Go
存储MinIO(对象存储)
监控Prometheus、Grafana

安装步骤

  1. 进入 应用商店 → 选择应用(如 PostgreSQL)
  2. 点击 安装
  3. 填写基本信息:
    • 应用名称(用于标识)
    • 版本选择
    • 端口映射
    • 数据库用户名/密码
  4. 点击 确认安装

安装 PostgreSQL 示例

配置项示例值说明
应用名称postgres-main自定义,便于识别
版本15推荐使用最新稳定版
端口5432默认端口,可修改
用户名postgres超级管理员
密码SecurePass123!务必使用强密码
数据目录/opt/1panel/apps/postgres/data自动配置

自定义应用:完全掌控

当你需要部署自己开发的 Next.js 或 NestJS 项目时,就需要使用自定义应用。

创建自定义应用

  1. 进入 容器容器管理创建容器
  2. 或进入 容器编排创建编排(推荐,支持多容器)

自定义应用配置项

配置项作用示例
镜像名称指定 Docker 镜像node:18-alpine
容器名称容器标识my-nextjs-app
端口映射外部访问端口3000:3000
卷挂载持久化数据/app/data:/data
环境变量运行时配置NODE_ENV=production
启动命令覆盖默认命令npm run start
重启策略容器退出时行为always(自动重启)

何时用自定义应用

实战:部署基础环境

一个典型的 Web 应用需要以下基础服务:

服务安装方式用途
PostgreSQL应用商店主数据库
Redis应用商店缓存/会话
OpenResty应用商店反向代理
Next.js 应用自定义前端服务
NestJS 应用自定义后端 API

推荐安装顺序

  1. 先装基础服务:PostgreSQL、Redis
  2. 再装 Web 服务:OpenResty
  3. 最后部署应用:Next.js、NestJS

为什么要这个顺序

应用启动时会尝试连接数据库和缓存,如果这些服务还没准备好,应用会启动失败。

避坑指南

常见问题

问题原因解决方案
端口冲突多个应用用同一端口修改端口映射
应用无法启动依赖服务未就绪检查数据库/Redis 状态
数据丢失未配置卷挂载重新创建并挂载数据卷
无法访问安全组未开放云服务商后台开放端口

最佳实践

  1. 统一命名规范:如 prod-postgresprod-redis
  2. 使用强密码:数据库密码至少 16 位,包含特殊字符
  3. 定期备份:1Panel 支持定时备份,务必开启
  4. 资源监控:关注 CPU、内存使用率,及时扩容