您正在浏览 Nuxt 2 文档。前往 Nuxt 3 文档, 或了解更多关于 Nuxt 2 长期支持

将 Nuxt 部署到 Koyeb Serverless Platform

使用 Docker 将 Nuxt 部署到 Koyeb Serverless Platform


Koyeb 是面向开发者的无服务器平台,用于在全球范围内部署应用程序。该平台支持无缝运行 Docker 容器、Web 应用和 API,具备基于 git 的部署、原生自动扩展、全球边缘网络以及内置服务网格和服务发现功能。

本指南介绍如何在 Koyeb 平台上对 Nuxt 应用进行 Docker 化并部署。

Koyeb 支持从您喜欢的注册表部署 Docker 容器。本指南使用 Docker Hub 存储镜像,但您也可以自由使用其他容器注册表提供商,如 GitHub Container Registry GitLab Container Registry

前提条件

成功完成本指南需要:

  1. 要部署的 Nuxt 项目。可以使用 create-nuxt-app 创建 Nuxt 项目并开始。
  2. 用于部署和运行 Docker 化 Nuxt 应用的 Koyeb 账户
  3. 用于推送 Docker 镜像并部署到 Koyeb 的 Docker Hub 账户

开始

在 Nuxt 应用程序目录中运行以下命令安装依赖项:

yarn

安装完成后,启动应用程序确认一切正常:

yarn dev

Docker 化应用程序

要对 Nuxt 应用进行 Docker 化,需要在项目目录中创建包含以下内容的 Dockerfile

FROM node:lts as builder

WORKDIR /app

COPY . .

RUN yarn install \
  --prefer-offline \
  --frozen-lockfile \
  --non-interactive \
  --production=false

RUN yarn build

RUN rm -rf node_modules && \
  NODE_ENV=production yarn install \
  --prefer-offline \
  --pure-lockfile \
  --non-interactive \
  --production=true

FROM node:lts

WORKDIR /app

COPY --from=builder /app  .

ENV HOST 0.0.0.0
EXPOSE 80

CMD [ "yarn", "start" ]

运行以下命令构建 Docker 镜像:

docker build . -t <YOUR_DOCKER_HUB_USERNAME>/my-nuxt-project

此命令将构建名为 <YOUR_DOCKER_HUB>/my-nuxt-project 的 Docker 镜像。构建完成后,可以在本地运行使用该镜像的容器,确认一切按预期工作:

docker run -p 3000:3000 <YOUR_DOCKER_HUB_USERNAME>/my-nuxt-project

打开浏览器访问 http://localhost:3000 查看项目的登录页面。

将 Docker 镜像推送到容器注册表

测试确认 Docker 镜像已构建并正常工作后,将其上传到容器注册表。本文档使用 Docker Hub 存储镜像。在终端运行以下命令推送镜像:

docker push <YOUR_DOCKER_HUB_USERNAME>/my-nuxt-project

在 Koyeb 上将 Nuxt 应用部署到生产环境

在 Koyeb 控制面板中,点击 Create App 按钮。

在表单的 Docker image 字段中输入之前创建的镜像名称,格式为 <YOUR_DOCKER_HUB_USERNAME>/my-nuxt-project

勾选 Use a private registry,在选择框中点击 Create Registry Secret

将打开一个模态框,要求填写:

  • 创建的密钥名称,例如 docker-hub-secret
  • 注册表提供商,用于生成包含私有注册表凭据的密钥,这里使用 Docker Hub
  • Docker Hub 的用户名和密码。建议使用 Docker Hub 的访问令牌 代替密码。

填写所有字段后,点击 Create 按钮。

无需更改 Path,应用程序可以使用域名根目录 /

将应用命名为 nuxt-app,点击 Create App

还可以增加部署区域、设置环境变量,以及根据需要定义水平扩展。

将自动跳转到 Koyeb App 页面,可以查看 Nuxt 应用程序的部署进度。几秒钟后应用部署完成,点击以 koyeb.app 结尾的 Public URL

您的 Nuxt 应用程序现在在 Koyeb 上运行,享有原生自动扩展、自动 HTTPS(SSL)、自动修复以及通过边缘网络的全球负载均衡。

Edit this page on GitHub Updated at Tue, Apr 14, 2026