Docker离线部署Node.js

在离线环境中使用 Docker 部署 Node.js 项目,可以按照以下步骤操作:

1. 准备 Node 镜像

在装好有网络的环境中,先拉取所需的镜像并保存为node.tar文件

bash 复制代码
docker pull node  # 拉取最新的node
docker save -o node.tar node

2. 在 Node.js 项目根目录创建 Dockerfile 文件

Dockerfile 复制代码
# 使用官方 Node.js 镜像作为基础镜像
FROM node

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

# 先安装依赖,避免每次更改源代码时都重新安装
# COPY package*.json ./
# RUN npm install

# 将当前目录的内容复制到容器中的工作目录
COPY . .

# 暴露容器的 3000 端口
EXPOSE 3000

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

创建好 Dockerfile 后的项目目录结构如下:

3. 打包 Node.js 项目

bash 复制代码
tar -czvf my-nodejs-project.tar.gz my-nodejs-project/

4. 传输文件到 Linux 离线环境

node.tarmy-nodejs-project.tar.gz 文件传输到 Linux 离线环境

5. 在离线环境中加载 Node 镜像

bash 复制代码
docker load -i node.tar

6. 解压 Node.js 项目文件

bash 复制代码
tar -xzvf my-nodejs-project.tar.gz

7. 构建 Docker 镜像

bash 复制代码
docker build -t my-nodejs-app .
docker images # 查看镜像

8. 后台运行 Docker 容器

注意: 端口需要与项目中的端口和Dockerfile文件暴露端口保持一致。

bash 复制代码
docker run -d -p 主机端口:容器端口 my-nodejs-app
docker ps # 查看容器状态
docker exec -it my-nodejs-app /bin/bash # 进入容器
相关推荐
码码哈哈0.03 小时前
2025最新:3分钟使用Docker快速部署Redis集群
redis·docker·容器
Q_Q19632884754 小时前
python小说网站管理系统-小说阅读系统
开发语言·spring boot·python·django·flask·node.js·php
韩先超6 小时前
2022年8月,韩先超对中移信息进行微服务架构原理(Docker+k8s+DevOps+Go等)培训
docker·微服务·kubernetes·devops
码上飞扬7 小时前
深入理解 Docker 网络原理:构建高效、灵活的容器网络
docker
m0_zj7 小时前
57.[前端开发-前端工程化]Day04-webpack插件模式-搭建本地服务器
前端·webpack·node.js
xbd_zc7 小时前
【Harbor v2.13.0 详细安装步骤 安装证书启用 HTTPS】
docker·harbor
盛夏绽放8 小时前
Vue3 + Node.js 实现客服实时聊天系统(WebSocket + Socket.IO 详解)
websocket·网络协议·node.js
秋说9 小时前
监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南
运维·docker·容器
layman052810 小时前
node.js 实战——express图片保存到本地或服务器(七牛云、腾讯云、阿里云)
node.js·express
妖果yaoyao10 小时前
docker 部署clickhouse
clickhouse·docker·容器