91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker如何部署Nodejs應用

發布時間:2022-05-26 15:25:40 來源:億速云 閱讀:1939 作者:iii 欄目:大數據

這篇“Docker如何部署Nodejs應用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Docker如何部署Nodejs應用”文章吧。

這個例子的目標是為了向大家展示如何在docker的container里運行node.js程序。我會先創建一個簡單的node.js web

app,來構建一個鏡像。然后基于這個image運行一個container。從而實現快速部署。

由于網絡的原因我的node.js鏡像從國內的鏡像庫下載,而不是docker hub。

先從國內的鏡像網站上pull下一下nodejs鏡像。     

docker pull hub.c.163.com/nce2/nodejs:0.12.2

Docker如何部署Nodejs應用

下載完后查看我們的鏡像,找到他的名稱,等會我們會用到

Docker如何部署Nodejs應用

創建node.js 程序

創建package.json,并寫入相關信息和依賴

vi package.json
{
 "name": "webtest",
 "version": "1.0.0",
 "description": "node.js on docker",
 "author": "lpxxn",
 "main": "server.js",
 "scripts": {
  "start": "node server.js"
 },
 "dependencies": {
  "express": "^4.13.3"
 }
}

創建server.js

vi server.js

寫一個最簡單web 這個web基于express框架,返回hello word.注意我們監聽的是8888端口

'use strict';

var express = require('express');

var port = 8888;

var app = express();
app.get('/', function (req, res) {
 res.send('hello world\n');
});

app.listen(port);
console.log('running on http://localhost:' + port);

創建dockerfile

接下來主角上場了創建dockerfile文件 這個文件是創建鏡像所必須的文件

vi dockerfile

docker會依照dockerfile的內容來構建一個鏡像。我先給出完整的代碼,再一行一行的給出解釋

from hub.c.163.com/nce2/nodejs:0.12.2

# create app directory
run mkdir -p /home/service
workdir /home/service

# bundle app source
copy . /home/service
run npm install

expose 8888
cmd [ "npm", "start" ]

我們來一句一句的解釋  

from hub.c.163.com/nce2/nodejs:0.12.2

from是構建鏡像的基礎源鏡像,hub.c.163.com/nce2/nodejs:0.12.2 這個是鏡像的名稱,也就是我們一開始從國內服務器上拉下來的那個image。如果本地沒有docker 會自己pull鏡像。

# create app directory
run mkdir -p /home/service
workdir /home/service

第一句run 用于在image里創建一個文件夾,將來用于保存我們的代碼。

第二句workdir是將我們創建的文件夾做為工作目錄。 

# bundle app source
copy . /home/service
run npm install

第一句的copy是把本機當前目錄下的所有文件拷貝到image的/home/service文件夾下。

第二句的run 使用npm 安裝我們的app據需要的所有依賴。

 expose 8888

由于我們的web app監聽的是8888端口,我們把這個端口暴露給主機,這樣我就能從外部訪問web了。

cmd [ "npm", "start" ]

這個我相信我不用解釋你也能看出來他是做什么的。運行npm start命令,這個命令會運行 node service.js來

啟動我們的web app。

構建image

在你dockerfile文件所在的目錄下運行下面的命令來構建一個image.

docker build -t mynodeapp .

別忘了最的的那個點

Docker如何部署Nodejs應用

構建完后查看一下我們的鏡像

Docker如何部署Nodejs應用

運行鏡像

docker run -d -p 8888:8888 ac5

-d 表明容器會在后臺運行,-p 表示端口映射,把本機的8888商品映射到container的8888端口這樣外網就能通過本機的8888商品訪問我們的web了。

后面的ac5是我們image的id因為前3個就已經能定位出這個image所以我就沒有把后邊的再寫出來。

通過docker ps 查看我們剛運行的container的id

打印log  7370就是我們的container id,和image id一樣,你也可以全寫出來,我比較懶就寫前4位,已經足夠標識出這個container了

docker logs 7350

Docker如何部署Nodejs應用

如果你想到container里可以執行下面的命令,進入到里邊后就可以像操作普通的linux 一樣。如果想退出可執行exit命令。

Docker如何部署Nodejs應用

 測試

我們先通過curl 看能不能訪問我們的web。

curl -i localhost:8888

Docker如何部署Nodejs應用

也可以通過瀏覽器來看一下

以上就是關于“Docker如何部署Nodejs應用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林甸县| 吉木萨尔县| 龙海市| 沙洋县| 乐清市| 偃师市| 乌兰察布市| 阜平县| 美姑县| 南昌市| 乐清市| 湘潭市| 重庆市| 绥棱县| 正镶白旗| 海口市| 青海省| 陕西省| 秀山| 苗栗市| 开江县| 蚌埠市| 交口县| 和静县| 罗定市| 沁阳市| 阿拉尔市| 辉县市| 班戈县| 大悟县| 平谷区| 龙山县| 浑源县| 大安市| 南江县| 墨竹工卡县| 遂平县| 永春县| 鄄城县| 松江区| 宁波市|