当前位置:

首页 > 编程开发 > Linux 下 Node.js 如何进行容器化部署

Linux 下 Node.js 如何进行容器化部署

在Linux环境下,通过Docker容器化部署Node.js应用:安装Docker、编写Dockerfile、构建镜像、运行容器并验证。可选使用DockerCompose编排多服务,或接入CI/CD实现自动化部署,确保环境一致性与快速交付。

本文目录

    在 Linux 环境下,用 Docker 把 Node.js 应用容器化,已经是很多开发者的标准操作。具体怎么做?其实并不复杂,跟着下面几步走就行。

    Linux 下 Node.js 如何进行容器化部署

    1. 安装 Docker

    首先,确保你的 Linux 系统上已经装好了 Docker。如果还没装,直接去 Docker 官方文档照着操作,几分钟就能搞定。这里以两个主流发行版为例:

    Ubuntu 用户看这里:

    sudo apt update
    sudo apt install docker.io

    CentOS 用户看这里:

    sudo yum install -y docker
    sudo systemctl start docker
    sudo systemctl enable docker

    装完记得检查一下 docker --version,确认服务已经跑起来。

    2. 创建 Dockerfile

    在你的 Node.js 项目根目录下,新建一个叫 Dockerfile 的文件——没错,就是这个名字,没有后缀。这个文件是用来告诉 Docker 怎么构建你的镜像的。

    # 使用官方 Node.js 基础镜像
    FROM node:14
    
    # 设置工作目录
    WORKDIR /usr/src/app
    
    # 复制 package.json 和 package-lock.json
    COPY package*.json ./
    
    # 安装依赖
    RUN npm install
    
    # 复制应用代码
    COPY . .
    
    # 暴露端口
    EXPOSE 3000
    
    # 启动应用
    CMD ["node", "app.js"]

    解释一下:这里用了 Node 14 的官方镜像,把项目文件拷进去,装好依赖,设置好端口,最后指定启动命令。如果你用的是 yarn 或者其他包管理器,按需调整就好。

    3. 构建 Docker 镜像

    在项目根目录下,跑下面这条命令:

    docker build -t my-node-app .

    这里的 -t my-node-app 是给镜像起个名字,你也可以改成自己习惯的名字。注意最后那个点别漏了,它代表当前目录作为构建上下文。

    4. 运行 Docker 容器

    镜像构建成功后,就可以启动容器了:

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

    这条命令把容器内部的 3000 端口映射到你主机的 3000 端口,这样你就能在浏览器里访问了。如果端口被占用,换个端口映射,比如 -p 8080:3000。

    5. 验证部署

    打开浏览器,输入 http://localhost:3000,如果看到你的 Node.js 应用正常显示,那就算大功告成了。要是没反应,先用 docker logs <容器ID> 看看日志,通常问题出在依赖或者端口配置上。

    6. 使用 Docker Compose(可选)

    如果你的应用依赖数据库、缓存之类的多个服务,一个一个手动启动太麻烦。这时候 Docker Compose 就派上用场了——它可以把多个容器编排在一起,一键启动。

    创建 docker-compose.yml 文件:

    version: '3'
    services:
      app:
        build: .
        ports:
          - "3000:3000"
        volumes:
          - .:/usr/src/app
          - /usr/src/app/node_modules
      db:
        image: postgres
        environment:
          POSTGRES_USER: myuser
          POSTGRES_PASSWORD: mypassword
          POSTGRES_DB: mydb

    上面的例子中,app 服务会构建当前目录的镜像,并挂载代码目录(方便热更新),db 服务直接用了 Postgres 镜像,并配置了环境变量。

    启动服务:

    docker-compose up -d

    加个 -d 参数后,容器会在后台运行。想停掉的话,执行 docker-compose down 即可。

    7. 持续集成/持续部署(CI/CD)(可选)

    如果项目需要频繁更新,手动构建部署太费时。可以接入 CI/CD 工具,比如 Jenkins、GitLab CI、GitHub Actions 等,把构建、推送镜像、远程部署这些步骤自动化。具体配置各家平台大同小异,核心思路就是:代码提交后自动触发构建,然后部署到服务器。

    以上就是在 Linux 下用 Docker 容器化部署 Node.js 应用的基本流程。实际项目中,你可能还需要考虑镜像优化(比如多阶段构建)、环境变量管理、日志收集等细节,但核心骨架就是这些。照着跑一遍,就能搭起一个可用的容器化部署环境。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Linux
    相关文章 更多
    linux删除用户与用户组的方法及命令教程
    linux删除用户与用户组的方法及命令教程

    掌握Linux中删除用户和用户组的正确方法,避免残留文件和进程冲突。本文深入解析userdel和groupdel命令的参数用法,提供处理“用户仍在使用”等常见错误的实战方案。

    Linux如何开启端口号?开放端口命令详解
    Linux如何开启端口号?开放端口命令详解

    详细讲解Linux如何开启端口号以及常用的开放端口命令。

    crossover卸载软件下载及重新安装教程
    crossover卸载软件下载及重新安装教程

    遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。