docker-compose 安装node的express

本文详细介绍了如何从本地安装Node.js开始,逐步搭建Express应用,并通过Docker进行容器化部署的过程。包括创建项目、安装Express框架、修改端口配置、编写Dockerfile和docker-compose.yml文件,最后使用Docker-compose完成应用的启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.先在本地安装node

2.新建文件夹,如node_client,

3.进入文件夹,运行npm init

4.运行npm install express 和 npm install express-generator

5. 运行express --view=pug .   ,后面有一点.,表示安装在当前目录

6.运行npm install

7.由于我的3000端口被占有了,所以需要修改bin/www

var port = normalizePort(process.env.PORT || '8080')

8.运行npm start,如果没问题则打开127.0.0.1:8080 会显示Welcome to Express

9.按ctrl+c退出来,新建Dockerfile

FROM node:11.6.0
RUN mkdir /jizan_client
WORKDIR /jizan_client
COPY package.json /jizan_client/package.json
COPY package-lock.json /jizan_client/package-lock.json
RUN npm install
COPY . /jizan_client

10.新建docker-compose.yml

version: '3'
services:
  web:
    build: .
    command: bash -c "npm start"
    volumes:
      - .:/jizan_client
    ports:
      - "8080:8080"

11. 运行docker-compose build web

12.安装完后运行docker-compose up,express就运行起来了

### 使用Docker-Compose安装Node.js 为了使用`docker-compose`来部署Node.js应用,需准备项目所需的文件和目录结构。通常情况下,在Linux服务器上已经预先安装好了DockerDocker-Compose环境[^2]。 创建一个新的工作目录用于放置Node.js应用程序及其关联的配置文件: ```bash mkdir -p /mnt/docker/nodejs-app && cd /mnt/docker/nodejs-app ``` 在此路径下初始化一个简单的Node.js项目并编写必要的构建脚本: #### 创建`package.json` 通过执行以下命令快速生成默认设置下的`package.json`文件: ```bash npm init -y ``` 编辑此JSON文件以适应具体的应用需求,比如指定依赖项版本号等信息。 #### 编写简易入口程序`app.js` 作为示例目的,可以简单定义如下JavaScript代码片段保存至同级目录中的`app.js`: ```javascript const express = require('express'); const app = express(); const port = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('Hello from Node.js with Docker!'); }); app.listen(port, () => console.log(`Server is listening on ${port}`)); ``` 确保安装Express框架以便于搭建Web服务端口监听功能正常运作: ```bash npm install express --save ``` #### 配置`Dockerfile` 在同一层级新建名为`Dockerfile`的文字档,其内部描述了基于官方Node.js镜像定制化容器映像的过程: ```dockerfile FROM node:alpine WORKDIR /usr/src/app COPY package*.json ./ RUN npm ci --only=production COPY . . EXPOSE 3000 CMD ["node", "app.js"] ``` 上述指令集指定了运行时的工作空间位置、复制宿主机上的包管理清单到目标环境中、仅下载生产环境下必需库、同步其余源码资源最后暴露对外提供HTTP请求处理能力的服务接口地址[^4]。 #### 构建`docker-compose.yml` 最终一步是在根目录添加`docker-compose.yml`文档,用来声明多层架构里各个组件之间的协作关系及参数设定: ```yaml version: '3' services: web: build: . ports: - "3000:3000" environment: NODE_ENV: production volumes: - ./data:/usr/src/app/data ``` 这里设定了单个名为`web`的服务实例,它会依据当前上下文中找到的`Dockerfile`来进行本地编译打包动作;同时开放外部访问权限给定为3000端口号,并传递环境变量指示处于正式上线模式之下;另外挂载了一个持久化的数据卷方便日后维护升级操作[^1]。 完成以上准备工作之后就可以利用下面这条语句一键启动整个集群体系了: ```bash docker-compose up -d ``` 这将会以前台守护进程的方式激活所有被定义过的微服务体系成员节点,包括但不限于刚刚所提及的那个Node.js Web Server。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值