Dockerfile 将一个 Bun HTTP 服务器部署到 DigitalOcean。
在继续之前,请确保你已准备:
- 一个可供部署的 Bun 应用
- 一个 DigitalOcean 账户
- 已安装并配置好 DigitalOcean CLI
- 已安装 Docker 并将其添加到你的
PATH中
1
创建新的 DigitalOcean 容器仓库
2
创建新的 Dockerfile
在项目的根目录下创建一个新的 在项目的根目录下创建一个新的
Dockerfile。该文件包含初始化容器、将本地项目文件复制到其中、安装依赖和启动应用程序的指令。Dockerfile
确保启动命令与你的应用程序入口点对应。如果你的
package.json 中有 start 脚本,也可以是 CMD ["bun", "run", "start"]。如果你的应用没有依赖项,可以省略 RUN bun install --production --frozen-lockfile 这一行。.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) 上构建,必须使用
docker buildx 和 --platform=linux/amd64 以确保与 DigitalOcean 的基础设施兼容。如果使用 docker build 而不带平台标志,将创建一个 ARM64 镜像,该镜像无法在 DigitalOcean 上运行。
5
创建新的 DigitalOcean App Platform 项目
6
访问你的在线应用
你的应用现已上线。应用创建完成后,你应该可以在 App Platform 仪表盘中看到它及其公共 URL。





