成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Doceker部署Node.js

ShevaKuilin / 2619人閱讀

摘要:前言項(xiàng)目中會(huì)用到做中間層,部署則是用到了,在這里總結(jié)記錄下部署要點(diǎn)和步驟關(guān)于的介紹和安裝這里就不贅述了,網(wǎng)上也有很多相關(guān)的教程和文章了,需要可自行搜索查看。

前言

????項(xiàng)目中會(huì)用到node做中間層,部署node則是用到了docker,在這里總結(jié)、記錄下部署要點(diǎn)和步驟;關(guān)于docker的介紹和安裝這里就不贅述了,網(wǎng)上也有很多相關(guān)的教程和文章了,需要可自行搜索查看。

項(xiàng)目結(jié)構(gòu)
`-- docker-node
    |-- data
    |-- server
        |-- app.js
        |-- Dockerfile
        |-- process.yml
        |-- package.json
    |-- docker-compose.yml
1、創(chuàng)建Node.js程序

app.js

const express = require("express");
const app = express();

app.get("/", (req, res) => res.send("hello world!"));

app.listen(3008);
2、創(chuàng)建Dockerfile
FROM node:8.9-alpine

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

RUN npm set registry https://registry.npm.taobao.org/

RUN npm install 

CMD ["./node_modules/pm2/bin/pm2-docker", "process.yml"]

從Dockerfile中可以看到我們是通過(guò)pm2-docker運(yùn)行node應(yīng)用的,利用PM2我們可以監(jiān)聽(tīng)文件變化,達(dá)到應(yīng)用重啟、日志分存等效果;這里我們需要一個(gè)process.yml的配置文件,相關(guān)用法可以查看PM2文檔。

process.yml

apps:
  - script   : "app.js"
    name     : "dokcer-node"
    exec_mode: "fork"
    watch    : true
    instances: 1
    log_date_format : "YYYY-MM-DD HH:mm Z"
    ignore_watch: ["node_modules"]
3、創(chuàng)建docker-compose.yml

生產(chǎn)環(huán)境上我們用到往往不只一個(gè)容器,我們可以通過(guò)一個(gè)配置文件來(lái)管理多個(gè)Docker容器,然后使用docker-compose來(lái)啟動(dòng),停止、重啟應(yīng)用。

docker-compose.yml

version: "3.0"
services:
  server_node:
    container_name: server-node
    build: 
      context: ./server
    volumes:
      - ./server:/usr/src/app
    ports:
      - "3008:3008"
    environment:
      - TZ=Asia/Shanghai

  portainer:
    image: portainer/portainer:1.11.4
    container_name: portainer
    expose:
      - "9000"
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data/portainer:/data
    environment:
      - TZ=Asia/Shanghai
4、啟動(dòng)容器

上述幾個(gè)文件創(chuàng)建完畢,我們執(zhí)行下面的命令,則會(huì)創(chuàng)建我們的鏡像并且啟動(dòng)容器

$ docker-compose -f docker-compose.yml up -d
5、測(cè)試

1、訪問(wèn)本地的3008端口

2、測(cè)試當(dāng)代碼變化,node自動(dòng)重啟功能,我們把"hello world!"改為"restart!?。?!",再次刷新頁(yè)面

3、利用Portainer管理容器;可視化的界面相比命令行來(lái)說(shuō),我們可以很方便、快速查看容器日志、容器配置、狀態(tài)、以及對(duì)進(jìn)行重啟、刪除等操作;我們?cè)L問(wèn)本地9000端口即可(docker-compese.yml中配置),結(jié)果如下。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99359.html

相關(guān)文章

  • centos7下Docker安裝

    摘要:由于之前沒(méi)安裝過(guò)這步跳過(guò)。安裝使用推薦方法設(shè)置的存儲(chǔ)庫(kù)并從中進(jìn)行安裝。設(shè)置存儲(chǔ)庫(kù)安裝所需的包。這些存儲(chǔ)庫(kù)包含在上面的文件中,但默認(rèn)情況下處于禁用狀態(tài)。執(zhí)行以上命令。 由于很多項(xiàng)目都需要在特定的環(huán)境下才能穩(wěn)定運(yùn)行,在網(wǎng)上搜索一番后,覺(jué)得Doceker是一個(gè)很不錯(cuò)的容器化平臺(tái),決定學(xué)習(xí)踩坑,先把Docker安裝上吧.Docker有兩個(gè)版本,社區(qū)版(CE),企業(yè)版(EE),這里的是社區(qū)版。服...

    starsfun 評(píng)論0 收藏0
  • 基于阿里云Serverless架構(gòu)下函數(shù)計(jì)算的最新應(yīng)用場(chǎng)景詳解(一)

    摘要:如果使用阿里云函數(shù)計(jì)算,您將高峰期每小時(shí)的訪問(wèn)日志,或者低谷期每小時(shí)的訪問(wèn)日志交給一個(gè)計(jì)算函數(shù)處理,并將處理結(jié)果存到中。下面結(jié)合阿里云的函數(shù)計(jì)算產(chǎn)品來(lái)講解各個(gè)應(yīng)用場(chǎng)景中架構(gòu)以及如何解決的場(chǎng)景中的痛點(diǎn)。 摘要: Serverless概念是近年來(lái)特別火的一個(gè)技術(shù)概念,基于這種架構(gòu)能構(gòu)建出很多應(yīng)用場(chǎng)景,適合各行各業(yè),只要對(duì)輕計(jì)算、高彈性、無(wú)狀態(tài)等場(chǎng)景有訴求的用戶都可以通過(guò)本文來(lái)普及一些基礎(chǔ)概...

    Eidesen 評(píng)論0 收藏0
  • 回顧Java 發(fā)展,看 Docker 與Mesos | 數(shù)人云COO謝樂(lè)冰@KVM分享實(shí)錄

    摘要:馬拉松會(huì)匹配每個(gè)和提供的資源,然后通過(guò)將任務(wù)下發(fā)下去。對(duì)外暴露的就是負(fù)載均衡的某個(gè)服務(wù),后面自動(dòng)將流量轉(zhuǎn)發(fā)到某個(gè)容器的端口上。還有一直辦法是用內(nèi)網(wǎng)的,這個(gè)會(huì)維護(hù)現(xiàn)有的容器列表端口,并且返回任意一個(gè)的端口,頁(yè)實(shí)現(xiàn)了負(fù)載均衡和服務(wù)發(fā)現(xiàn)功能。 演講嘉賓 數(shù)人云COO 謝樂(lè)冰 在德國(guó)工作十年,回國(guó)后加入惠普電信運(yùn)營(yíng)商部門(mén),擁有多年項(xiàng)目經(jīng)驗(yàn)和創(chuàng)業(yè)公司工作經(jīng)驗(yàn)。在數(shù)人云負(fù)責(zé)產(chǎn)品售前和運(yùn)營(yíng),專注行...

    canger 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<