Skip to content

容器化 Node.js 应用程序

原文:https://docs.docker.com/language/nodejs/containerize/

前提条件

  • 您已安装最新版本的 Docker Desktop
  • 您有一个 git 客户端。本节中的示例使用基于命令行的 git 客户端,但您可以使用任何客户端。

概述

本节将引导您容器化并运行 Node.js 应用程序。

获取示例应用程序

克隆示例应用程序以用于本指南。打开终端,切换到您想要工作的目录,并运行以下命令来克隆仓库:

console
git clone https://github.com/docker/docker-nodejs-sample

初始化 Docker 资源

现在您有了一个应用程序,您可以使用 docker init 来创建容器化应用程序所需的 Docker 资源。在 docker-nodejs-sample 目录中,在终端运行 docker init 命令。docker init 提供了一些默认配置,但您需要回答一些关于您的应用程序的问题。参考以下示例来回答 docker init 的提示,并为您的提示使用相同的答案。

console
docker init
欢迎使用 Docker Init CLI!

此实用程序将引导您通过为您的项目创建以下具有合理默认值的文件:
  - .dockerignore
  - Dockerfile
  - compose.yaml
  - README.Docker.md

让我们开始吧!

? 您的项目使用什么应用平台?Node
? 您想使用哪个版本的 Node?18.0.0
? 您想使用哪种包管理器?npm
? 您想用什么命令启动应用?node src/index.js
? 您的服务器监听哪个端口?3000

现在,您的 docker-nodejs-sample 目录中应该有以下内容。

text
├── docker-nodejs-sample/
│ ├── spec/
│ ├── src/
│ ├── .dockerignore
│ ├── .gitignore
│ ├── compose.yaml
│ ├── Dockerfile
│ ├── package-lock.json
│ ├── package.json
│ ├── README.Docker.md
│ └── README.md

要了解更多 docker init 添加的文件,请查看以下内容:

运行应用程序

docker-nodejs-sample 目录内,运行以下命令在终端中启动应用程序。

console
docker compose up --build

打开浏览器并在 http://localhost:3000 查看应用程序。您应该看到一个简单的待办事项应用程序。

在终端中,按 ctrl+c 停止应用程序。

在后台运行应用程序

您可以通过添加 -d 选项在终端中分离运行应用程序。在 docker-nodejs-sample 目录中,运行以下命令在终端中启动应用程序。

console
docker compose up --build -d

打开浏览器并在 http://localhost:3000 查看应用程序。

您应该看到一个简单的待办事项应用程序。

在终端中,运行以下命令停止应用程序。

console
docker compose down

有关 Compose 命令的更多信息,请查看 Compose CLI 参考

总结

在本节中,您学习了如何使用 Docker 容器化并运行您的 Node.js 应用程序。

相关信息:

下一步

在下一节中,您将学习如何使用容器开发您的应用程序。