Back
Featured image of post Fly.io 初体验

Fly.io 初体验

一个 Heroku 的替代方案?

前言

前段时间在Google检索资料时偶然发现了这个平台,试用了一下感觉体验还不错

目前网上还没有相关中文介绍文章,故水一篇博文分享一下

免费额度

项目 额度
VM: shared-cpu 8,436,960 seconds per month
Bandwidth 160GB per month
Anycast IPs Unlimited IPv6, 1 IPv4 per active app
Certificates 10 active certificates

以上数据来自 https://fly.io/docs/about/pricing

译:单个账户每月可享三个免费容器、160GB 流量,单容器可享一个 Anycast IPv4 地址、无限的 Anycast IPv6 地址

注册

Fly.io 和其他同类平台不太一样,大部分操作基本都需要在命令行进行

首先需要安装一个 Fly命令行工具

curl -L https://fly.io/install.sh | FLYCTL_INSTALL=/usr/local sh

执行 flyctl auth signup,根据引导完成账号注册

注:需要准备一张 Visa / MasterCard 信用卡或借记卡完成支付方式绑定

选择地区

Region ID Region Location
ams Amsterdam, Netherlands
atl Atlanta, Georgia (US)
cdg Paris, France
dfw Dallas, Texas (US)
ewr Parsippany, NJ (US)
fra Frankfurt, Germany
gru Sao Paulo, Brazil
hkg Hong Kong
iad Ashburn, Virginia (US)
lax Los Angeles, California (US)
lhr London, United Kingdom
nrt Tokyo, Japan
ord Chicago, Illinois (US)
scl Santiago, Chile
sea Seattle, Washington (US)
sin Singapore
sjc Sunnyvale, California (US)
syd Sydney, Australia
vin Vint Hill, Virginia
yyz Toronto, Canada

以上数据来自 https://fly.io/docs/reference/regions

通过 flyctl regions set ${Region ID} 来设置

创建容器

在 Fly.io 仪表盘点击 Create app,创建一个容器

回到终端,创建一个 fly.toml 文件,参考配置如下

app = "wjy"

[build]
  image = "registry.wjy.me/wangjingyuan/debian:10.8"

[[services]]
  internal_port = 22
  protocol = "tcp"

  [[services.ports]]
    port = 10022

[env]
  MIRROR = "deb.debian.org"
  PASSWORD = "password"
  SCRIPT = "apt install -y wget; echo '这里可以DIY容器启动脚本'"

更多配置参考:

https://fly.io/docs/guides/#app

https://fly.io/docs/reference/configuration

根据刚刚创建的容器替换掉上述 app

文件保存后执行 flyctl deploy 部署

部署好后在 Fly.io 仪表盘即可查看当前容器的 IPv4 / IPv6 地址

后话

  1. 账单详情有一条 Free Tier(优惠 US$10.00),依据社区论坛的回复,初步判断为是老用户的福利,若用于抵消亚洲流量,每个月可以再享受 250GB 额度。
  2. 若使用上述示例配置,通过编辑 SCRIPT 变量来设置容器启动脚本,可以实现容器启动自动挂载 OneDrive 作为容器数据卷、自动运行探针被控等操作。
comments powered by Disqus