
字节笔记本
2026年10月5日 · 约 7 分钟读完
Floci:免费开源的 LocalStack 替代品
如果你做 AWS 开发,大概率用过 LocalStack:在本地跑起 AWS 服务,开发和测试都不用碰真云。但 LocalStack 的免费版功能有限,很多常用服务要用 Pro 版,每月 35 美元起步。
Floci 是 LocalStack 的免费开源替代,官方的口号是「轻量、蓬松、永远免费」:无需账号、无需 auth token、没有功能限制,docker compose up 一条命令就能跑起来。

它是什么
Floci(仓库 floci-io/floci)是一个开源的本地 AWS 模拟器,面向日常开发、CI 流水线和离线测试。一句话概括:在本地跑 AWS 服务,不用云账号、不用付费、无功能门槛。
把你的 AWS SDK、CLI、Terraform、CDK 或 OpenTofu 指向 http://localhost:4566,现有的工作流原样照跑。代码几乎不用改,换个 endpoint 就能从真 AWS 切到本地模拟,也可以随时切回去。
名字来自 floccus(絮状云),因为它轻得像一团爆米花。项目采用 MIT 协议,可以放心用在个人项目、公司内部工具和 CI 环境。
和 LocalStack 的差距在哪
| Floci | LocalStack 免费版 | LocalStack Pro | |
|---|---|---|---|
| 价格 | 永远免费 | 免费,功能有限 | 每月 35 美元起 |
| 账号 | 不需要 | 要注册 | 要注册 |
| Auth Token | 不需要 | 需要 | 需要 |
| 功能限制 | 没有 | 不少服务要 Pro | 没有 |
| 启动方式 | docker compose up | 安装加配置 | 安装加配置 |
| 开源协议 | MIT | 部分开源 | 闭源 |
Floci 的差异可以概括成「三无」:无账号、无 Token、无功能门。LocalStack 免费版里,Lambda、Step Functions、Kinesis 这类常用服务都要 Pro 才能用,而 Floci 全部开放。
怎么用
方式一:Docker Compose
# compose.yaml
services:
floci:
image: floci/floci:latest
ports:
- "4566:4566"docker compose up
# 配置环境变量
export AWS_ENDPOINT_URL=http://localhost:4566
export AWS_DEFAULT_REGION=us-east-1
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
# 之后正常使用 AWS CLI
aws s3 mb s3://my-bucket
aws dynamodb list-tables方式二:官方 CLI
floci start # 启动
eval $(floci env) # 自动配置环境变量
aws s3 ls # 正常使用
floci stop # 停止
所有服务都挂在 localhost:4566,任意 region 都可以,credentials 随便填一个非空值就行。
从 LocalStack 迁移也几乎零成本:两边默认端口都是 4566,把 endpoint 指过去,其余代码和脚本保持原样。
支持哪些服务
Floci 覆盖了 AWS 开发和测试中最常用的服务:
- S3(对象存储)
- DynamoDB(NoSQL 数据库)
- SQS / SNS(消息队列与通知)
- Lambda(无服务器函数)
- Kinesis(流处理)
- CloudFormation(基础设施即代码)
- IAM / STS(权限与临时凭证)
- Secrets Manager / SSM(密钥与配置)
- Step Functions(状态机)
- SES(邮件)
- CloudWatch(监控与日志)
- EventBridge(事件总线)
仓库文档列出的支持范围其实更大,还包括 API Gateway、Cognito、KMS、ECS、EC2、RDS、ElastiCache、AppSync、Route53 等一大串。实现方式也值得一提:大部分服务在进程内模拟,启动快、资源占用低;而 Lambda、RDS、ECS、ElastiCache、OpenSearch 这类对保真度要求高的服务,则用真实 Docker 容器来跑,而不是浅层的假响应。
SDK 和工具链怎么接
| 工具 | 接入方式 |
|---|---|
| AWS SDK(Python / Node / Go / Java) | 设置 endpoint_url |
| AWS CLI | AWS_ENDPOINT_URL 环境变量 |
| Terraform / OpenTofu | endpoints 配置块 |
| AWS CDK | 环境变量 |
| Testcontainers | 官方模块,Java / Node / Python 可用 |
| LocalStack | 同端口,无缝迁移 |
Testcontainers 模块是个加分项:在测试代码里直接启动一个隔离的 Floci 实例,不共享状态,也不用担心端口冲突,测试之间的干净度更容易保证。
谁适合用
- 个人开发者:不想为本地测试每月支付 35 美元。
- 开源项目:不想要求每一位贡献者都注册 LocalStack 账号、配置 token。
- CI 流水线:不用在 pipeline 里塞凭证,原生镜像毫秒级启动,空闲内存占用低。
- 离线场景:出差或飞机上没有网络,也能照常跑 AWS 相关的集成测试。
- 教学演示:学生不用注册云账号,就能上手 S3、DynamoDB、Lambda 这些服务。
小结
Floci 是 LocalStack 的免费开源替代:无账号、无 Token、无功能门,docker compose up 就能在本地跑起 AWS 服务,MIT 协议。如果你做 AWS 开发,又被 LocalStack 的付费墙卡住,它是最省事的解法,就像它的名字一样,轻量、蓬松、永远免费。
本文基于 Floci 官方仓库(https://github.com/floci-io/floci )与社区公开讨论整理,技术细节以仓库文档为准。



