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

2019-03-29  本文已影响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 服务器

上一篇下一篇

猜你喜欢

热点阅读