Skip to main content
DigitalOcean 是一个云平台,提供多种构建和部署应用的服务。 本指南将使用 Dockerfile 将 Bun HTTP 服务器部署到 DigitalOcean。
继续之前,请确保您已经:

1

创建一个新的 DigitalOcean 容器注册表

创建一个新的容器注册表以存储 Docker 镜像。
在 DigitalOcean 控制面板中,进入 容器注册表,并填写新注册表的详细信息。
DigitalOcean 注册表控制面板
确认信息无误后,点击 创建注册表
你应该能在 DigitalOcean 注册表控制面板 看到新的注册表:
DigitalOcean 注册表控制面板
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 注册表

确保你当前在包含 Dockerfile 的目录,使用一条命令构建并推送 Docker 镜像到 DigitalOcean 注册表:
terminal
如果你在 ARM Mac(M1/M2)上构建,必须使用带有 --platform=linux/amd64docker buildx,以确保与 DigitalOcean 的基础设施兼容。使用不带 platform 标志的 docker build 会创建 ARM64 镜像,该镜像无法在 DigitalOcean 上运行。
推送完成后,你应能在 DigitalOcean 注册表控制面板 看到镜像:
DigitalOcean 注册表控制面板
5

创建新的 DigitalOcean App Platform 项目

在 DigitalOcean 控制面板中,进入 App Platform > 创建应用。你可以直接从容器镜像创建项目。
DigitalOcean App Platform 项目控制面板
确认信息无误后,点击 下一步
DigitalOcean App Platform 服务控制面板
检查并配置资源设置,然后点击 创建应用
DigitalOcean App Platform 服务控制面板
6

访问已上线的应用

你的应用现在已经上线。应用创建完成后,你应该能在 App Platform 控制面板中看到它及其公共 URL。
DigitalOcean App Platform 应用控制面板