管理应用
登录到 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 中运行。
所有,我们的编排工作步骤如下:
-
Websoft9 控制台,通过 我的应用 菜单进入任何一个应用的管理界面
-
点击 “编排” 标签页的【马上修改】按钮,系统跳转到 Git 仓库的项目管理页面
-
在可视化的仓库管理页面,选择 .env 或 docker-compose.yml 进行修改(所有文件均可修改)
-
回到我的应用的编排标签页,点击【重建应用】链接或右上角的重建图标
-
等待重建完成
W9_ 开头的环境变量一般不要去修改。
场景
下面再以一些特殊的场景为例,让您更灵活管理应用。
删除指定容器后再重建
Websoft9 的我的应用标签页并不支持删除指定容器后再重建,但可以通过其他功能结合使用:
-
进入左侧主菜单的:【容器】>【Stacks】
-
进入 Stack 后找到应用,删除目标容器
-
可选操作:在容器管理界面中的【Volumes】页面,删除目标容器的 Volume
-
回到我的应用界面,重建容器
开启数据库外网端口
提供两种方式开放数据库的外网端口:
-
方式一:需要重新编排应用的 docker-compose.yml 文件,修改其中数据库的 port 绑定,然后重建应用
-
方式二:通过 Websoft9 域名管理界面中,新建一个 Stream 代理,实现端口转发到服务器
常见问题
应用 exit 状态的容器是异常吗?
理论上是正常的,有些应用中包含短暂的容器(即运行较短的时间后退出),用于镜像导入数据、修改配置等一次性的操作。
应用 restarting 状态的容器是异常吗?
如果应用启动较长时间 1-5 分钟后,仍然有 restarting 状态的容器,这些是异常的。
环境变量修改后为什么有些不生效?
有些环境变量仅用于容器的首次创建,后续修改是不生效的。例如:MYSQL_PASSWORD
这是由各个容器镜像的作者决定的,Websoft9 无法对它进行控制,也没有必要改变它的这种特征。