Dockerfile 将 Bun HTTP 服务器部署到 Google Cloud Run。
在继续之前,请确保您已经具备:
- 准备好部署的 Bun 应用
- 已启用计费的 Google Cloud 账户
- 已安装并配置好 Google Cloud CLI
1
初始化 gcloud,选择或创建项目
请确保您已经初始化 Google Cloud CLI。
gcloud init 会让您登录,并提示您选择现有项目或创建新项目。有关 Google Cloud CLI 的更多帮助,请参见 官方文档。terminal
2
(可选)将项目信息存储到环境变量
设置您的项目 ID 和编号变量,方便后续步骤复用。
terminal
3
关联计费账户
列出可用的计费账户,并把一个账户关联到您的项目:将计费账户关联到项目。将
terminal
[BILLING_ACCOUNT_ID] 替换为您的计费账户 ID。terminal
4
启用 API 并配置 IAM 角色
激活所需服务并授予 Cloud Build 权限:
terminal
这些命令会启用 Cloud Run(
run.googleapis.com)和 Cloud Build(cloudbuild.googleapis.com),从源码部署时需要使用这两个服务。Cloud Run 运行您的容器化应用,而 Cloud Build 负责构建和打包应用。IAM 绑定授予 Compute Engine 服务账户([email protected])权限,代表您构建和部署镜像。5
添加 Dockerfile
在项目根目录创建新的 在项目根目录创建新的
Dockerfile。该文件包含初始化容器、复制本地项目文件、安装依赖和启动应用的指令。Dockerfile
请确保启动命令对应您的应用入口点。如果您在 package.json 中有 start 脚本,也可以使用
CMD ["bun", "run", "start"]。如果您的应用没有依赖项,可以省略 COPY package.json bun.lock ./ 和 RUN bun install --production --frozen-lockfile 行(对于没有依赖项的项目,Bun 不会写入 bun.lock)。.dockerignore 文件。该文件列出了要从容器镜像中_排除_的文件和目录,例如 node_modules,从而让构建更快、镜像更小:.dockerignore
6
部署服务
确保您处在包含
Dockerfile 的目录中,然后直接从本地源码部署:请将
--region 标志更新为您偏好的区域,或者省略该标志以交互方式选择区域。terminal
7
访问您的在线应用
您的 Bun 应用现已上线。访问服务 URL(
https://my-bun-app-....us-west1.run.app)确认一切正常。