关于 flyctl
面向使用 Fly.io 的开发者,提供通过 flyctl 部署和运维应用的命令行操作指南,覆盖配置、扩缩容、存储、数据库与故障排查。
主要功能
- 01创建应用并部署
- 02管理密钥与配置
- 03调整 VM 和实例数量
- 04创建并扩展持久卷
- 05查看状态、日志与健康检查
- 06SSH 连接和故障诊断
适用场景
- 01将新应用部署到 Fly.io
- 02更新应用并调整实例规模
- 03管理应用密钥和持久存储
- 04排查部署或机器问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sebastiaanwouters/ dotagents --skill flyctl安装后在 Claude Code 中输入/flyctl确认已加载。
附带文件reference/dockerfile.mdreference/laravel.md
详细介绍
Fly.io 部署(flyctl)
将应用部署到 Fly.io 的全球边缘基础设施。
快速参考
| 任务 | 命令 |
|---|---|
| 新建应用 | fly launch |
| 部署 | fly deploy |
| 状态 | fly status |
| 日志 | fly logs |
| SSH | fly ssh console |
| 打开 | fly apps open |
核心工作流
1. 部署新应用
cd /path/to/project
fly launch # Interactive setup
fly launch --now -y # Accept defaults, deploy immediately
fly launch --no-deploy # Configure only, deploy later
创建:fly.toml(配置文件)、Dockerfile(如有需要)
2. 后续部署
fly deploy # Standard deploy
fly deploy --strategy rolling # Rolling update (default)
fly deploy --local-only # Build locally instead of remote
3. 密钥管理
fly secrets set KEY=value # Set secret
fly secrets set K1=v1 K2=v2 # Multiple
fly secrets list # List (values hidden)
fly secrets unset KEY # Remove
cat .env | fly secrets import # Import from file
4. 扩缩容
fly scale show # Current config
fly scale vm shared-cpu-1x # Change VM size
fly scale memory 512 # Set memory (MB)
fly scale count 3 # Set instance count
fly scale count web=2 worker=1 # Per process group
VM 规格:shared-cpu-1x、shared-cpu-2x、performance-1x、performance-2x
5. 卷(持久化存储)
fly volumes create mydata --size 10 --region ord # Create 10GB
fly volumes list # List volumes
fly volumes extend <id> --size 20 # Resize
在 fly.toml 中挂载:
[mounts]
source = "mydata"
destination = "/data"
6. 数据库
托管 Postgres(推荐):
fly mpg create # Create managed postgres
fly mpg list # List clusters
非托管 Postgres:
fly postgres create # Create cluster
fly postgres attach <pg-app> # Attach to app (sets DATABASE_URL)
fly postgres connect <pg-app> # Connect via psql
Redis(Upstash):
fly redis create # Create instance
7. 监控
fly status # App status
fly logs # Tail logs
fly logs -i <machine-id> # Specific machine
fly checks list # Health checks
fly dashboard # Open web UI
8. SSH 和控制台
fly ssh console # Interactive shell
fly ssh console -C "cmd" # Run command
fly sftp shell # SFTP access
fly.toml 要点
app = "my-app"
primary_region = "ord"
[env]
APP_ENV = "production"
[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = "stop"
auto_start_machines = true
min_machines_running = 1
[[vm]]
memory = "512mb"
cpu_kind = "shared"
cpus = 1
框架专用指南
Laravel 应用:阅读 reference/laravel.md
Dockerfile 应用:阅读 reference/dockerfile.md
故障排除
fly doctor # Diagnose issues
fly releases # List releases
fly releases show <v> # Release details
fly machine list # List machines
fly machine restart <id> # Restart specific machine
常用标志
| 标志 | 说明 |
|---|---|
-a <app> | 指定应用名称 |
-c <path> | 配置文件路径 |
-r <region> | 目标区域 |
--yes | 跳过确认 |
--verbose | 输出详细信息 |
评论
支持 Markdown