最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署Node.js的方法步驟

 更新時間:2018年11月25日 16:51:54   作者:wy丶  
這篇文章主要介紹了Docker部署Node.js的方法步驟。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

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

項目結(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中可以看到我們是通過pm2-docker運(yùn)行node應(yīng)用的,利用PM2我們可以監(jiān)聽文件變化,達(dá)到應(yīng)用重啟、日志分存等效果;這里我們需要一個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)境上我們用到往往不只一個容器,我們可以通過一個配置文件來管理多個Docker容器,然后使用docker-compose來啟動,停止、重啟應(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、啟動容器

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

$ docker-compose -f docker-compose.yml up -d

5、測試

1、訪問本地的3008端口

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker?部署hbase并且java?Api連接的操作過程

    docker?部署hbase并且java?Api連接的操作過程

    這篇文章主要介紹了docker?部署hbase并且java?Api連接的操作過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • Docker安裝mysql超詳細(xì)步驟記錄

    Docker安裝mysql超詳細(xì)步驟記錄

    mysql大家可能習(xí)慣是二進(jìn)制安裝的,現(xiàn)在容器化發(fā)展迅速,也有很多公司是用docker安裝的,下面這篇文章主要給大家介紹了關(guān)于在Docker安裝mysql的超詳細(xì)步驟,需要的朋友可以參考下
    2022-07-07
  • Docker常用命令Study03詳解

    Docker常用命令Study03詳解

    這篇文章主要介紹了Docker常用命令Study03詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • CentOS7.2下安裝docker容器教程

    CentOS7.2下安裝docker容器教程

    Docker是一個開源的軟件部署工具,是輕量級的應(yīng)用容器框架,它可以讓創(chuàng)建和管理 CentOS容器變得簡單。容器就像是輕量級的虛擬機(jī),并且可以以毫秒級的速度來啟動或停止。Docker 幫助系統(tǒng)管理員和程序員在容器中開發(fā)應(yīng)用程序,并且可以擴(kuò)展到成千上萬的節(jié)點。
    2018-03-03
  • Docker容器化部署Python應(yīng)用過程解析

    Docker容器化部署Python應(yīng)用過程解析

    這篇文章主要介紹了Docker容器化部署Python應(yīng)用過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • docker安裝Redis高可用實現(xiàn)一主二從三哨兵

    docker安裝Redis高可用實現(xiàn)一主二從三哨兵

    redis提供了哨兵模式保證redis實現(xiàn)高可用,本文主要介紹了docker安裝Redis高可用實現(xiàn)一主二從三哨兵,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • Docker如何部署SQL?Server?2017?Always?On集群

    Docker如何部署SQL?Server?2017?Always?On集群

    這篇文章主要介紹了Docker如何部署SQL?Server?2017?Always?On集群問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 關(guān)于docker容器優(yōu)雅退出的問題詳解

    關(guān)于docker容器優(yōu)雅退出的問題詳解

    在Docker大火的今天,我們能夠非常方便的使用容器打包我們的應(yīng)用程序,并且將它在我們的服務(wù)器上部署并運(yùn)行起來。而下面這篇文章主要給大家介紹了關(guān)于docker容器如何優(yōu)雅退出的問題,需要的朋友可以參考下。
    2017-09-09
  • Docker終端無法輸入中文問題及解決

    Docker終端無法輸入中文問題及解決

    Docker終端輸入中文問題可通過修改語言環(huán)境解決,系統(tǒng)默認(rèn)POSIX字符集不支持中文,將環(huán)境變量LANG設(shè)置為C.UTF-8即可解決,方法包括啟動容器時添加環(huán)境變量和進(jìn)入容器后修改
    2024-11-11
  • 淺談docker --privileged=true參數(shù)作用

    淺談docker --privileged=true參數(shù)作用

    這篇文章主要介紹了淺談docker --privileged=true參數(shù)作用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

两当县| 静宁县| 舒兰市| 泉州市| 固镇县| 铜山县| 榆社县| 青海省| 房山区| 黄骅市| 崇左市| 宜城市| 新巴尔虎右旗| 韶关市| 汶川县| 库伦旗| 鄂尔多斯市| 油尖旺区| 伽师县| 绥德县| 新绛县| 广德县| 佛山市| 揭阳市| 长阳| 手游| 汝阳县| 永兴县| 铁岭县| 高淳县| 吴忠市| 东乡族自治县| 余江县| 潢川县| 邳州市| 措勤县| 崇左市| 固镇县| 香格里拉县| 鄯善县| 双牌县|