原创

使用 Docker 构建和部署一个 Node.js 应用

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

使用 Docker 构建和部署一个 Node.js 应用

本文将引导您使用 Docker 构建和部署一个简单的 Node.js 应用。

准备工作

  • 安装 Docker Desktop 或 Docker Engine。
  • 创建一个新的 Node.js 项目。

构建 Docker 镜像

  1. 创建一个名为 Dockerfile 的文件,并在其中添加以下内容:

```dockerfile FROM node:16-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

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

  • FROM node:16-alpine: 指定基础镜像为 Node.js 16.x 版本的 Alpine Linux。
  • WORKDIR /app: 设置工作目录为 /app
  • COPY package*.json ./: 复制 package.jsonpackage-lock.json 文件到工作目录。
  • RUN npm install: 安装项目依赖。
  • COPY . .: 复制所有项目文件到工作目录。
  • CMD ["npm", "start"]: 设置容器启动后执行的命令,这里为执行 npm start 命令。

  • 构建 Docker 镜像:

bash docker build -t my-node-app .

  • -t my-node-app:指定镜像名称为 my-node-app
  • .:指定构建上下文为当前目录。

运行 Docker 容器

bash docker run -p 3000:3000 my-node-app

  • -p 3000:3000:将容器内部的 3000 端口映射到主机上的 3000 端口。

现在您可以在浏览器中访问 http://localhost:3000 来访问您的 Node.js 应用。

部署到 Docker Hub

  1. 登录 Docker Hub:

bash docker login

  1. 推送镜像到 Docker Hub:

bash docker push your_dockerhub_username/my-node-app

结论

本文介绍了使用 Docker 构建和部署 Node.js 应用的基本步骤。您可以根据您的实际需求对 Dockerfile 和运行命令进行调整。

额外提示:

  • 可以使用 .dockerignore 文件来排除不需要复制到容器中的文件。
  • 可以使用 docker-compose 工具来管理多个容器。
  • 可以使用 docker-compose up -d 命令将容器在后台运行。
  • 可以使用 docker logs my-node-app 命令查看容器日志。
正文到此结束