debian

Debian上Node.js应用如何进行容器化部署

小樊
36
2025-04-08 06:10:46
栏目: 编程语言

在Debian上对Node.js应用进行容器化部署,可以按照以下步骤进行:

准备工作

  1. 安装Docker
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world

编写Dockerfile

在项目根目录下创建一个名为 Dockerfile 的文件,并添加以下内容:

# 使用 Node.js 官方镜像
FROM node:18

# 设置工作目录
WORKDIR /usr/src/app

# 复制 package*.json 和 package-lock.json
COPY package*.json ./

# 安装依赖
RUN npm install

# 复制项目文件到容器中
COPY . .

# 暴露端口
EXPOSE 3001

# 启动应用
CMD ["node", "app.js"]

构建Docker镜像

在项目根目录下运行以下命令以构建Docker镜像:

docker build -t my-node-app .

运行Docker容器

使用以下命令运行Docker容器,并将容器的3001端口映射到主机的3001端口:

docker run -p 3001:3001 my-node-app

验证部署

在浏览器中访问 http://localhost:3001,确保服务正常运行。

使用Docker Compose(可选)

如果你的应用有多个服务(例如数据库),可以使用Docker Compose来简化管理和部署。创建一个 docker-compose.yml 文件,内容如下:

version: '3.8'
services:
  web:
    build: .
    ports:
      - "3001:3001"
    depends_on:
      - db

  db:
    image: mongo:latest
    ports:
      - "27017:27017"

然后运行:

docker-compose up

这样,Docker Compose会同时启动你的Node.js应用和MongoDB数据库。

以上步骤展示了如何在Debian上对Node.js应用进行容器化部署,包括安装Docker、编写Dockerfile、构建镜像、运行容器以及验证部署。使用Docker Compose可以进一步简化多服务应用的部署和管理。

0
看了该问题的人还看了