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 服务账号($PROJECT_NUMBER-compute@developer.gserviceaccount.com)代表你构建和部署镜像的权限。5
添加 Dockerfile
在项目的根目录下创建一个新的 在项目的根目录下创建一个新的
Dockerfile。该文件包含初始化容器、将本地项目文件复制到其中、安装依赖和启动应用程序的指令。Dockerfile
确保启动命令与你的应用程序入口点对应。如果你的
package.json 中有 start 脚本,也可以是 CMD ["bun", "run", "start"]。如果你的应用没有依赖项,可以省略 RUN bun install --production --frozen-lockfile 这一行。.dockerignore 文件。它列出了要从容器镜像中_排除_的文件和目录,例如 node_modules,这有助于使构建更快、更小:.dockerignore
6
部署你的服务
确保你在包含
Dockerfile 的目录中,然后直接从本地源代码进行部署:将
--region 标志更新为你偏好的区域,或省略它以交互方式选择区域。terminal
7
访问你的在线应用
你的 Bun 应用现已上线。访问服务 URL(
https://my-bun-app-....us-west1.run.app)以确认一切按预期工作。