站点品牌标识

北京先航科技有限公司 XNAVOR 北京先航科技有限公司 Beijing Xnavor Technology Company Limited
教程中心 / 开发工具 / Floci 零基础使用教程:不用开 AWS 账号,在本机跑一朵免费云
Floci 本地雲端開發教程封面

Floci 零基础使用教程:不用开 AWS 账号,在本机跑一朵免费云

开发工具 入门 Beginner 实操教程 Floci 🕒 2026-11-05 ⏱ 10 分钟

分类:开发工具|难度:入门|类型:实操教程|软件:Floci

标签:开源、AWS、云端开发、Docker、免费、本地开发|预计阅读:约 10 分钟

一、这是什么

Floci 是一个免费开源的本地 AWS 模拟器,适合开发、测试和 CI 使用。它的理念很直接:不用云端账号、不用授权 token、没有付费功能门槛,只要把你本来用的 AWS SDK、CLI、Terraform 或 CDK 指向本机,就能在本机用 AWS 形状的服务做开发与测试。

Floci 这个名字来自积云的一种形态 floccus,看起来像爆米花,所以它自称「轻、松、永远免费」。它在 2026 年 11 月 5 日登上 GitHub 当日热门榜单,核实时主仓库已有约 2.9 万颗星,MIT 许可证。

值得一提的是,README 指出 LocalStack 的社区版已于 2026 年停止更新,要解锁它部分服务需要授权。Floci 正是作为一个无附加条件的免费替代品出现的。

它支持的服务范围很广,包括 S3、SQS、SNS、DynamoDB、Lambda、IAM、STS、KMS、Secrets Manager、API Gateway、Cognito、RDS、ElastiCache、CloudWatch、EventBridge、Step Functions、CloudFormation、SSM、Route 53、EC2、EKS、ECS、SageMaker、Bedrock 等。

它适合这些人:学 AWS 但不想开真账号、怕误触收费的新手;想离线开发、快速跑测试的开发者;以及本来用 LocalStack、想找一个免费替代品的团队。

二、开始前先确认

  • 系统要求:需要一部能跑 Docker 的电脑,因为 Floci 官方 CLI 会启动模拟器容器;同时需要装好 AWS CLI(aws 命令)。
  • 预设通讯埠:AWS 模拟器跑在 http://localhost:4566。如果这个通讯埠已被其他程序占用,要先释放或改设定,否则启动会失败。
  • 凭证只是本地占位符:Floci 接受任何非空凭证值,教程里用 test 纯粹是本地测试惯例;千万不要把真实云端账号的密钥填进本地环境变量,也不要把正式凭证贴进测试脚本。
  • 本机资料不是正式环境:预设情况下,模拟器里建的存储桶和资料表只存在于本机测试,停止或重设后可能消失;不要把重要资料只存在里面。
  • 先在练习环境试:第一次用建议先照着教程走一遍建存储桶、建资料表的流程,确认没问题再接到自己的专案里。

三、操作步骤

步骤 1:安装 Floci CLI

按你的系统选一条官方安装命令:

macOS 或 Linux(Homebrew):

brew install floci-io/floci/floci

Linux 或 macOS(安装脚本):

curl -fsSL https://floci.io/install.sh | sh

Windows(PowerShell):

iwr https://floci.io/install.ps1 | iex

装完后做一次自检,执行 floci version,能正常印出 CLI 和服务器版本资讯,就说明安装成功。如果只想用 Docker Compose 而不用 CLI,官方 README 也提供了对应的写法。

图 1:安装 Floci CLI 的示意
图 1:安装 Floci CLI 的示意。图片为 AI 生成的操作示意图,实际界面以终端输出为准。

步骤 2:启动模拟器并导出本地环境变量

启动 AWS 模拟器(不加产品前缀的 floci 命令预设就是 AWS):

floci start

先检查环境有没有问题:

floci doctor

然后把本地 AWS 环境变量导出到目前终端,让之后的 aws 命令自动指向本机模拟器:

eval $(floci env)

这一步很关键:eval $(floci env) 只对目前这个终端视窗生效,新开一个终端要重新执行一次。可以用 floci status 确认容器状态,也可以用 floci logs 看日志。

图 2:启动 Floci 并导出环境变量的示意
图 2:启动 Floci 并导出环境变量的示意。图片为 AI 生成的操作示意图。

步骤 3:用 AWS CLI 建一个 S3 存储桶并确认

在刚才导出环境变量的终端里,建一个测试存储桶:

aws s3 mb s3://my-bucket

再列出存储桶确认它真的存在:

aws s3 ls

如果输出里出现 my-bucket,就代表 S3 模拟已经通了。之后也可以用平常的 aws s3 cp 上传档案、用 aws s3 ls s3://my-bucket 看里面的对象。

步骤 4:建一张 DynamoDB 资料表并列出资料表

继续用同一终端,建一张以 pk 为主键的测试资料表(按需计费模式):

aws dynamodb create-table --table-name demo-table --attribute-definitions AttributeName=pk,AttributeType=S --key-schema AttributeName=pk,KeyType=HASH --billing-mode PAY_PER_REQUEST

建好后列出资料表确认:

aws dynamodb list-tables

输出里出现 demo-table,就代表 DynamoDB 模拟也通了。到这里,你已经在本机跑通了「存储 + 资料库」这条最常见的开发链路。

图 3:在本机建立 S3 存储桶与 DynamoDB 资料表的示意
图 3:在本机建立 S3 存储桶与 DynamoDB 资料表的示意。图片为 AI 生成的操作示意图。

步骤 5(进阶):用网页控制台看一眼本机资源

Floci 自带浏览器控制台,用来查看本地模拟器里的资源,地址是:

http://localhost:4566/_floci/ui

第一次开启时,它会按需拉取控制台映像并以附属容器方式启动,之后浏览器会自动跳转到控制台。想快速清理测试资料又不想停掉模拟器时,可以用 floci reset 删除执行中模拟器里的资源;想停掉模拟器时,用 floci stop。

四、恢复办法

Floci 只在本机模拟 AWS 服务,不会动你的真实云端账号,遇到问题基本都能马上回到干净状态:

  • floci start 后 aws 命令还是指向真实 AWS:多半是忘了执行 eval $(floci env),或者换了新终端;重新导出环境变量后再试。
  • 通讯埠 4566 被占用:先找出占用该通讯埠的程序并停掉它,或调整设定后再启动;不要同时跑两个本地 AWS 模拟器。
  • Docker 未启动:Floci CLI 靠容器跑模拟器,Docker 守护进程没跑时启动一定失败,先启动 Docker 再试。
  • 命令找不到 floci:检查安装步骤是否完成、终端是否需要重新载入环境,Homebrew 用户可用 brew doctor 排查。
  • 测试资料乱了:执行 floci reset 清掉模拟器里的所有资源,模拟器继续跑,重新建存储桶和资料表即可。
  • 想从头再来:执行 floci stop 停掉模拟器,再 floci start 重新启动;之前建的本地测试资源不会保留。
  • 不想用了:执行 floci stop 后,用当初的安装方式解除安装即可,例如 Homebrew 用户执行 brew uninstall floci-io/floci/floci。

五、注意事项(必读)

  • 不要填真实凭证:本地测试凭证用 test 这类占位值就够了,永远不要把正式云端密钥贴进本机测试环境。
  • 环境变量只对目前终端生效:每开一个新终端,都要重新执行 eval $(floci env),否则 aws 命令可能跑到真实 AWS。
  • 模拟不等于百分百相同:Floci 覆盖的服务很广,但个别服务的行为细节可能和真实 AWS 有差异;上正式环境前,一定要在真实环境或预发环境再验证一次。
  • 本机资料要当作可丢弃:测试用的存储桶和资料表随时可能因停止或重设而消失,重要资料要另外备份。
  • 它仍在快速迭代:命令和个别功能以后可能调整;遇到与本教程不一致的地方,以官方文件为准。

六、官方资源链接

七、常见问题

Floci 是免费的吗?
是。项目采用 MIT 许可证,开源免费,不需要账号、授权 token,也没有付费功能门槛。

它和 LocalStack 有什么关系?
Floci 定位为 LocalStack 社区版停止更新后的免费替代品,README 称它可以作为直接替代:换掉映像就能继续用,迁移指南见官方文件。

不用 Docker 能用吗?
可以。每个版本也提供 Linux、macOS、Windows 的独立 floci-aws 二进制程序;但用官方 CLI 路线时,模拟器本身是跑在容器里的。

除了 AWS,还支持其他云吗?
支持。Floci 家族还有 Azure(4577 通讯埠,floci az)、GCP(4588 通讯埠,floci gcp)、OCI(4599 通讯埠,floci oci)等产品线,启动方式类似。

floci doctor 是做什么的?
它是环境诊断命令,启动后用来检查本地环境有没有问题,排错时先跑它。

停止后资料还在吗?
不要假设还在。停止或重设都可能让测试资料消失,重要资料要另外保存。

可以直接用 Terraform 吗?
可以。README 指出,可以把标准 HashiCorp AWS provider 指向 Floci,在本机用 Terraform 布建 AWS 形状的资源,详见官方 Terraform 指南。