docker部署nodejs开发环境详细步骤(基础示例篇)

 更新时间:2023年10月23日 10:46:08   作者:家用通马桶高级工程师  
这篇文章主要给大家介绍了docker部署nodejs开发环境详细步骤,docker是一个开源的应用容器引擎,可以为我们提供安全、可移植、可重复的自动化部署的方式,需要的朋友可以参考下
一直想写一个关于多容器开发环境,以后会逐步更新,今天先从简单的hello world开始吧
下面的例子来自于 https://nodejs.org/zh-cn/docs/guides/nodejs-docker-webapp/

一共4个文件,分别是

  1. dockerfile
  2. docker-compose.yml
  3. package.json
  4. server.js
# dockerfile以下
FROM node:12
 
# Create app directory
WORKDIR /usr/src/app
 
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
 
RUN npm install
# If you are building your code for production
# RUN npm ci --only=production
 
# Bundle app source
COPY . .
 
EXPOSE 3000
CMD [ "node", "server.js" ]
# package.json
{
    "name": "docker_web_app",
    "version": "1.0.0",
    "description": "Node.js on Docker",
    "author": "First Last <first.last@example.com>",
    "main": "server.js",
    "scripts": {
      "start": "node server.js"
    },
    "dependencies": {
      "express": "^4.16.1"
    }
  }
# server.js
'use strict';
 
const express = require('express');
 
// Constants
const PORT = 3000;
const HOST = '0.0.0.0';
 
// App
const app = express();
app.get('/', (req, res) => {
  res.send('Hello World');
});
 
app.listen(PORT, HOST, () => {
  console.log(`Running on http://${HOST}:${PORT}`);
});
# docker-compose.yml
version: '3.0'
services:
  node-web: 
    build: ./
    ports:
      - "3000:3000"
    volumes:
      - ./:/usr/src/app
      - /usr/src/app/node_modules
    command:  npm start 
注意哦!!! 第10行 volumes里必须要把container中的node_modules映射出来,否则会报错
internal/modules/cjs/loader.js:818
code: 'MODULE_NOT_FOUND',
requireStack: [ '/usr/src/app/server.js' ]
这是因为宿主机目录中没有node_modules而引起的莫名错误。。。
普通的目录结构 👇

docker-compose up
运行成功!😃,打开浏览器访问 localhost:3000

总结:
非常简单方便的docker容器化部署nodejs,过去自己下载自己配置,弄半天的情景不复存在!这是简单实用基础版本,拥抱docker吧!

到此这篇关于docker部署nodejs开发环境详细步骤的文章就介绍到这了,更多相关docker部署nodejs开发环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ubuntu Docker 源码编译(1.9.1 )详解

    Ubuntu Docker 源码编译(1.9.1 )详解

    这篇文章主要介绍了Ubuntu Docker 源码编译(1.9.1 )详解的相关资料,这里对编译过程进行了详细的分析介绍,需要的朋友可以参考下
    2016-11-11
  • 详解Ubuntu16.04安装Docker、nvidia-docker的教程

    详解Ubuntu16.04安装Docker、nvidia-docker的教程

    这篇文章主要介绍了详解Ubuntu16.04安装Docker、nvidia-docker的教程,需要的朋友可以参考下
    2019-10-10
  • docker网卡的IP地址修改方法总结

    docker网卡的IP地址修改方法总结

    这篇文章主要给大家总结介绍了关于docker网卡的IP地址修改方法,文中通过实例代码介绍的非常详细,对大家学习或者使用docker具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06
  • 使用Docker run的选项以覆盖Dockerfile中的设置详解

    使用Docker run的选项以覆盖Dockerfile中的设置详解

    今天小编就为大家分享一篇关于使用Docker run的选项以覆盖Dockerfile中的设置详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • docker打包前端项目的实现示例

    docker打包前端项目的实现示例

    本文介绍了如何将前端项目打包到Docker容器中,包括编写Dockerfile文件、创建镜像和容器以及解决部署过程中遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • Docker网络之部署redis集群方式

    Docker网络之部署redis集群方式

    文章介绍了如何部署和测试Redis集群,包括创建配置文件、启动容器、查看集群信息以及模拟节点故障进行测试
    2025-01-01
  • docker默认路径存储不足解决过程

    docker默认路径存储不足解决过程

    这篇文章主要给大家介绍了关于docker默认路径存储不足的解决过程,Docker存储空间不足的错误通常表明Docker Daemon分配的本地磁盘空间用尽,文中通过代码将解决的办法介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Windows10 Docker Desktop安装过程

    Windows10 Docker Desktop安装过程

    Docker Desktop是Docker公司推出的一款桌面应用程序,它提供了一个用户友好的界面,方便开发人员在本地环境中使用容器技术,这篇文章主要介绍了Windows10 Docker Desktop安装过程,需要的朋友可以参考下
    2024-01-01
  • 使用Docker部署openGauss国产数据库的操作方法

    使用Docker部署openGauss国产数据库的操作方法

    openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库,这篇文章主要介绍了使用Docker部署openGauss国产数据库,需要的朋友可以参考下
    2022-10-10
  • Docker在线、离线安装及其常用命令操作

    Docker在线、离线安装及其常用命令操作

    这篇文章主要介绍了Docker在线、离线安装及其常用命令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论