当前位置: 首页 > article >正文

Docker Compose 发布一个 Node.js 项目

要使用 Docker Compose 发布一个 Node.js 项目,你可以按照以下步骤进行配置:

1. 创建 Dockerfile

在你的项目根目录下创建一个 Dockerfile。这个文件定义了如何构建你的 Node.js 项目镜像。以下是一个示例 Dockerfile

# 使用官方 Node.js 镜像作为基础镜像
FROM node:14

# 设置工作目录
WORKDIR /app

# 复制 package.json 和 package-lock.json(如果有)到工作目录
COPY package*.json ./

# 安装项目依赖
RUN npm install

# 复制项目文件到工作目录
COPY . .

# 暴露端口
EXPOSE 8080

# 启动项目
CMD ["npm", "start"]

2. 创建 docker-compose.yml

在项目的根目录下创建 docker-compose.yml 文件,用于定义 Docker Compose 配置。示例如下:

version: '3.8'

services:
  nodejs-app:
    build: .
    container_name: nodejs_web_container
    ports:
      - "8080:8080"
    volumes:
      - .:/app
    environment:
      - NODE_ENV=production

3. 运行 Docker Compose

在项目根目录下运行以下命令来启动 Docker Compose:

docker-compose up --build

4. 访问应用

在浏览器中访问 http://localhost:8080,你应该能够访问 Node.js 应用的页面。

5. 常用 Docker Compose 命令

  • 启动服务docker-compose up 或者 docker-compose up -d(后台运行)。
  • 停止服务docker-compose down
  • 重建服务docker-compose up --build
  • 查看日志docker-compose logs 或者 docker-compose logs -f(实时日志)。

目录结构示例

确保你的项目目录结构类似如下:

/your-project
│
├── Dockerfile
├── docker-compose.yml
├── package.json
├── package-lock.json (可选)
├── server.cert
├── server.key
└── ...

这样,你就可以通过 Docker Compose 将 Node.js 项目进行容器化发布了。如果需要更多的自定义配置,可以根据你的项目需求修改 Dockerfiledocker-compose.yml 文件。


http://www.kler.cn/a/370384.html

相关文章:

  • 光谱相机如何还原色彩
  • LeetCode 110.平衡二叉树
  • 农业农村大数据应用场景|珈和科技“数字乡村一张图”解决方案
  • Vue3 nginx 打包后遇到的问题
  • Ubuntu20.04取消root账号自动登录的方法,触觉智能RK3568开发板演示
  • 【C++课程学习】:C++中的IO流(istream,iostream,fstream,sstream)
  • 前端自学资料(笔记八股)分享—CSS(4)
  • 【银河麒麟高级服务器操作系统·实例分享】裸金属服务器开机失败分析及处理建议
  • Go 语言的函数参数传递
  • javascript实现des算法(支持微信小程序)
  • 交叉编译 perl-5.40.0(riscv64)
  • ngrx store中createSelector的用法?
  • Spring Boot技术在厨艺交流平台中的创新应用
  • 成品气楼参考图集有哪些?盘点5本实用图集,你都知道哪几本
  • android studio编译错误提示无法下载仓库
  • Vue.js(2) 基础:指令与功能概览
  • 第三十二篇:TCP协议粘包和滑动窗口,TCP系列七
  • 智能工厂的设计软件 谓述词(遗传/继承)的前述谓经验: 认知系统架构和灵活模块化框架的实现原理 之1
  • 人工智能的发展前景如何?
  • OpenStack 新版本 Dalmatian 发布,为人工智能工作负载、安全性和用户体验提供增强功能
  • 什么是云原生后端
  • Docker搭建开源Web云桌面操作系统Puter和DaedalOS
  • LeetCode每日一题3211---生成不含相邻零的二进制字符串
  • Javascript数据结构——哈希表常见应用
  • Ubuntu 安装php7.3 nginx mysql
  • AVI格式怎么转MP4?码住这5个视频格式转换方法就足够了!