Dockerfile 将 Bun HTTP 服务器部署到 DigitalOcean。
继续之前,请确保您已经:
- 准备好一个可部署的 Bun 应用
- 拥有一个 DigitalOcean 账户
- 已安装并配置好 DigitalOcean CLI
- 已安装并添加到
PATH中的 Docker
1
创建一个新的 DigitalOcean 容器注册表
创建一个新的容器注册表以存储 Docker 镜像。你应该能在 DigitalOcean 注册表控制面板 看到新的注册表:
- 通过 DigitalOcean 控制面板
- 通过 DigitalOcean CLI

2
创建新的 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
3
用 Docker 验证登录 DigitalOcean 注册表
在构建和推送 Docker 镜像之前,先用 Docker 认证登录 DigitalOcean 容器注册表:
terminal
此命令使用你的 DigitalOcean 凭据对 Docker 进行身份验证,以访问 DigitalOcean 的注册表。如果不执行此步骤,构建和推送命令会因 401 身份验证错误而失败。
4
构建并推送 Docker 镜像到 DigitalOcean 注册表
确保你当前在包含 推送完成后,你应能在 DigitalOcean 注册表控制面板 看到镜像:
Dockerfile 的目录,使用一条命令构建并推送 Docker 镜像到 DigitalOcean 注册表:terminal
如果你在 ARM Mac(M1/M2)上构建,必须使用带有
--platform=linux/amd64 的 docker buildx,以确保与 DigitalOcean 的基础设施兼容。使用不带 platform 标志的 docker build 会创建 ARM64 镜像,该镜像无法在 DigitalOcean 上运行。
5
创建新的 DigitalOcean App Platform 项目
6
访问已上线的应用
你的应用现在已经上线。应用创建完成后,你应该能在 App Platform 控制面板中看到它及其公共 URL。




