用途:flyctl 是 Fly.io 官方 CLI,用于将应用部署到 Fly.io 的全球边缘基础设施,并管理应用生命周期。
主要能力:
- 应用创建与部署:fly launch 交互式初始化(生成 fly.toml,必要时生成 Dockerfile),fly deploy 部署,支持 rolling 策略与 --local-only 本地构建。
- 密钥管理:fly secrets set/list/unset,支持从 .env 导入(cat .env | fly secrets import)。
- 扩缩容:fly scale show/vm/memory/count,可按进程组设置实例数(如 web=2 worker=1);VM 规格含 shared-cpu-1x、shared-cpu-2x、performance-1x、performance-2x。
- 持久存储:fly volumes create/list/extend,并在 fly.toml 的 [mounts] 中挂载。
- 数据库:托管 Postgres(fly mpg create/list)、非托管 Postgres(fly postgres create/attach/connect)、Redis(fly redis create)。
- 监控与运维:fly status、fly logs、fly checks list、fly dashboard、fly doctor、fly releases、fly machine list/restart。
- 远程访问:fly ssh console、fly sftp shell。
使用方式:在项目目录执行 fly launch 初始化,随后用 fly deploy 部署;常用全局参数包括 -a 指定应用、-c 指定配置文件、-r 指定区域、--yes 跳过确认、--verbose 输出详情。fly.toml 可配置 app、primary_region、[env]、[http_service](internal_port、force_https、auto_stop_machines、auto_start_machines、min_machines_running)及 [[vm]](memory、cpu_kind、cpus)。
适用场景:需要将 Web 应用、Dockerfile 应用或 Laravel 等框架应用部署到 Fly.io,并进行扩缩容、密钥、卷与数据库管理的开发者。
限制:资料未提供具体收费、价格、平台支持范围与效果数据;部分框架细节需参考对应参考文档(如 Laravel、Dockerfile)。