美文网首页
02 手摸手带你使用Docker 部署node.js应用(入门篇

02 手摸手带你使用Docker 部署node.js应用(入门篇

作者: 骚包霸天虎 | 来源:发表于2019-03-29 17:04 被阅读0次

    ECS 使用 Docker 部署静态网站为例
    我购买的是腾讯云 ECS 服务器
    系统盘:ubuntu

    准备工作请参考 01 手摸手带你使用Docker 部署静态网站

    1. 代码准备

    1. 直接在 terminal 写代码并不是很方便,这次换个方式,先在本地建好文件夹 nodeapp, 名字随意起
    2. 进入 nodeapp 进行初始化, npm init -y, 进行完这步操作,你就会拥有 package.json 文件了
    3. 本次使用 express, 执行 npm i express -S 安装依赖
    4. 创建 app.js
    const express = require('express');
    const app = express();
    // 返回数据
    app.get('/',(req, res)=> res.status(200).json({user: 'grey', age: 13}));
    
    // 监听 3002 端口
    app.listen(3002, () => console.log('running on port 3002'));
    
    1. 创建 Dockerfile
    # 拉取 node 镜像
    FROM node:7-alpine
    
    RUN mkdir -p /src/app
    
    WORKDIR /src/app
    
    COPY package.json /src/app/package.json
    # 安装依赖
    RUN npm install
    
    COPY . /src/app
    # 暴露容器端口
    EXPOSE 3002
    # 运行
    CMD ["npm", "start"]
    
    1. 更新 package.jsonscripts
    {                                                         
      "name": "nodeapp",                                      
      "version": "1.0.0",                                     
      "description": "",                                      
      "main": "index.js",                                     
      "scripts": {                                            
        "test": "echo \"Error: no test specified\" && exit 1" ,
        "start": "node app.js"
      },                                                      
      "keywords": [],                                         
      "author": "",                                           
      "license": "ISC",                                       
      "dependencies": {                                       
        "express": "^4.16.4"                                  
      }                                                       
    }                                                         
    

    至此,代码准备工作已经做好了

    2. 部署 node.js 应用

    1. 将本地代码 copy 到服务器,先将nodeapp文件夹压缩为 zip格式,执行 copy 命令 scp nodeapp.zip root@117.63.100.137:~

    上述 root@ 后面的 ip是我乱编的,请替换为你自己的公网ip

    1. 登录自己的 ECS 服务器,可在命令行使用 ssh root@117.63.100.137, 输入正确密码即可,进入后 ls 一下,即可以看见自己的文件

      image.png
    2. ECS 服务器端安装 apt-get install zip,用于解压 nodeapp, 执行 unzip nodeapp 即可获得解压后的文件夹

    3. 进入 nodeapp 文件夹,执行 docker build -t nodeapp:v3 .

      检查镜像列表
    4. 镜像打包成功过后,执行 docker run -d -p 3002:3002 --name node-app nodeapp:v3

      检查容器列表
      已经成功运行,打开你的浏览器
    image.png

    我购买的是腾讯云 ECS 服务器

    相关文章

      网友评论

          本文标题:02 手摸手带你使用Docker 部署node.js应用(入门篇

          本文链接:https://www.haomeiwen.com/subject/pcxrbqtx.html