Skip to main content
Version: Next

管理应用

登录到 Websoft9 控制台后,点击【我的应用】列出所有可管理的应用。

我们为应用提供了全面的管理、监控、发布和监控的方式:

功能

下面针对 "我的应用" 功能标签进行原理和基本使用的说明:

概述

概述包含应用名称、ID、外网端口等关键信息

应用生命周期

应用生命周期管理功能在应用详情窗口的右上角(一行图标),Websoft9 应用生命周期与 Docker 中的定义一致:

  • 启动
  • 停止
  • 重启
  • 重建(先编排,再重建)
  • 卸载(可选是否保留容器持久化数据)

对于重建来说,不管应用中的容器存在或被删除,都可以被重建,最大程度上保持重建工作的灵活性。

访问

访问标签页包含两个核心功能:

  • 绑定域名:对域名进行增删改查,并立即生效
  • 查看账号:查看应用初始化的账号和密码(随机产生强型的密码,每个应用都不一样)

密码在不必要时,可以不修改

容器

容器标签页列出本应所包含的所有容器以及其状态等关键信息。同时,还提供了三个功能链接(点击图标使用):

  • Logs: 容器的实时日志,等同于 Docker logs containerID
  • Stats:可视化的容器状态和资源占用情况
  • Exec console:进入容器,自行运行命令行

卷存

卷存即应用容器的持久化数据存储目录(Volumes),这个目录通常需要考虑做异地备份

数据库

数据库标签页列出应用包含的主要数据库以及其连接信息。

每个容器的数据库并没有将端口绑定在服务器上,即无法直接通过外网进行访问。我们推荐通过应用商店安装 phpMyAdmin, pgAdmin 等可视化 Web 工具来以内网的方式管理数据库,既安全又简单。

卸载

卸载应用包含基本卸载和彻底卸载两种模式:

  • 基本卸载:默认的卸载方式,它删除了容器、域名,保留了编排文件和持久化存储
  • 彻底卸载:顾名思义删除应用所有存在的形式,此操作不可逆

基本卸载可以通过重建进行恢复

编排(重建)

编排即重新配置应用,它的编排的对象是一个 100% 的 Docker Compose 项目,所有熟悉 Docker 的用户编排它是轻车熟路的。

为什么要编排?

Websoft9 提供的是应用模板,它满足了最快启动应用的一切,但它无法满足您各种个性化问题:

  • 需要使用自定义的数据库:例如云 RDS
  • 个性化的用户名和密码
  • 为某些应用配置缓存
  • 更改持久化存储目录
  • 应用自身的配置
  • 可设置的白名单
  • 需删除应用的容器后再创建
  • ...

所以,我们需要将应用的编排完全开放个用户,以满足各种个性化需求。

怎样编排?

Websoft9 运行机制是 GitOps 驱动,即先在 Git 中定义应用所需的资源,再将资源文件推送到 Runner 中运行。

所有,我们的编排工作步骤如下:

  1. Websoft9 控制台,通过 我的应用 菜单进入任何一个应用的管理界面

  2. 点击 “编排” 标签页的【马上修改】按钮,系统跳转到 Git 仓库的项目管理页面

  3. 在可视化的仓库管理页面,选择 .env 或 docker-compose.yml 进行修改(所有文件均可修改)

  4. 回到我的应用的编排标签页,点击【重建应用】链接或右上角的重建图标

  5. 等待重建完成

W9_ 开头的环境变量一般不要去修改。

场景

下面再以一些特殊的场景为例,让您更灵活管理应用。

删除指定容器后再重建

Websoft9 的我的应用标签页并不支持删除指定容器后再重建,但可以通过其他功能结合使用:

  1. 进入左侧主菜单的:【容器】>【Stacks】

  2. 进入 Stack 后找到应用,删除目标容器

  3. 可选操作:在容器管理界面中的【Volumes】页面,删除目标容器的 Volume

  4. 回到我的应用界面,重建容器

开启数据库外网端口

提供两种方式开放数据库的外网端口:

  • 方式一:需要重新编排应用的 docker-compose.yml 文件,修改其中数据库的 port 绑定,然后重建应用

  • 方式二:通过 Websoft9 域名管理界面中,新建一个 Stream 代理,实现端口转发到服务器

常见问题

应用 exit 状态的容器是异常吗?

理论上是正常的,有些应用中包含短暂的容器(即运行较短的时间后退出),用于镜像导入数据、修改配置等一次性的操作。

应用 restarting 状态的容器是异常吗?

如果应用启动较长时间 1-5 分钟后,仍然有 restarting 状态的容器,这些是异常的。

环境变量修改后为什么有些不生效?

有些环境变量仅用于容器的首次创建,后续修改是不生效的。例如:MYSQL_PASSWORD

这是由各个容器镜像的作者决定的,Websoft9 无法对它进行控制,也没有必要改变它的这种特征。