在继续之前,请确保您已具备:
- 一个准备部署的 Bun 应用程序
- 一个 DigitalOcean 账户
- 已安装并配置 DigitalOcean CLI
- 已安装 Docker 并添加到您的
PATH
创建新的 DigitalOcean 容器注册表
创建新的 Dockerfile
确保您在包含项目的目录中,然后在项目的根目录中创建一个新的 [Dockerfile]。此文件包含初始化容器、将本地项目文件复制到其中、安装依赖项并启动应用程序的指令。在项目根目录中创建一个新的 [.dockerignore] 文件。该文件包含应从容器镜像中_排除_的文件和目录,例如 [node_modules]。这使您的构建更快、更小:
Dockerfile
确保启动命令对应于应用程序的入口点。如果您的 [package.json] 中有启动脚本,也可以是
CMD ["bun", "run", "start"]。此镜像在容器内使用 Bun 安装依赖项并运行您的应用程序。如果您的应用程序没有依赖项,您可以省略 RUN bun install --production --frozen-lockfile 这一行。.dockerignore
使用 DigitalOcean 注册表对 Docker 进行身份验证
在构建和推送 Docker 镜像之前,使用 DigitalOcean 容器注册表对 Docker 进行身份验证:
terminal
此命令使用您的 DigitalOcean 凭据对 Docker 与 DigitalOcean 的注册表进行身份验证。没有此步骤,构建和推送命令将失败并出现 401 身份验证错误。
构建并将 Docker 镜像推送到 DigitalOcean 注册表
确保您在包含 [Dockerfile] 的目录中,然后在一个命令中构建并将 Docker 镜像推送到 DigitalOcean 注册表:镜像推送后,您应该在 DigitalOcean 注册表仪表板 中看到它:
terminal
如果您在 ARM Mac (M1/M2) 上构建,则必须使用
docker buildx 和 --platform=linux/amd64 以确保与 DigitalOcean 基础设施的兼容性。使用 docker build 而不带平台标志将创建一个在 DigitalOcean 上无法运行的 ARM64 镜像。
创建新的 DigitalOcean App Platform 项目





