原创

使用 Docker 部署 Node.js 应用

温馨提示:
本文最后更新于 2024年07月25日,已超过 251 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用 Docker 部署 Node.js 应用

本文档将演示如何使用 Docker 部署一个简单的 Node.js 应用。

1. 创建项目目录和文件

  • 创建一个名为 node-app 的目录作为项目目录。
  • 在项目目录中创建以下文件:
    • index.js:包含应用程序的源代码。
    • Dockerfile:包含 Docker 镜像的构建指令。
    • package.json:包含应用程序的依赖项信息。

2. 编写 index.js 文件

```javascript const express = require('express');

const app = express();

app.get('/', (req, res) => { res.send('Hello from Node.js!'); });

app.listen(3000, () => { console.log('Server listening on port 3000'); }); ```

3. 创建 package.json 文件

json { "name": "node-app", "version": "1.0.0", "description": "Simple Node.js application", "main": "index.js", "scripts": { "start": "node index.js" }, "dependencies": { "express": "^4.18.2" } }

4. 创建 Dockerfile 文件

```dockerfile FROM node:18-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "start"] ```

5. 构建 Docker 镜像

bash docker build -t node-app .

6. 运行 Docker 容器

bash docker run -p 3000:3000 node-app

7. 访问应用

在浏览器中访问 http://localhost:3000,您将看到 "Hello from Node.js!" 的信息。

说明

  • Dockerfile 文件指定了 Docker 镜像的构建步骤。
  • FROM 指令指定了基础镜像,这里是 Node.js 18 的 Alpine 版本。
  • WORKDIR 指令指定了工作目录。
  • COPY 指令将项目文件复制到容器中。
  • RUN 指令执行命令,这里安装了应用程序的依赖项。
  • EXPOSE 指令指定容器公开的端口。
  • CMD 指令指定容器启动时要执行的命令。

总结

通过使用 Docker,您可以轻松地将 Node.js 应用打包和部署。 Docker 提供了一种可移植性和可重复性的方式来构建和运行应用程序。

正文到此结束