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

資訊專欄INFORMATION COLUMN

使用Dockerfile部署nodejs服務(wù)

nihao / 2831人閱讀

摘要:構(gòu)建過(guò)程類似如下運(yùn)行容器鏡像構(gòu)建完成后,可以通過(guò)所構(gòu)建的鏡像創(chuàng)建運(yùn)行容器,從而實(shí)現(xiàn)應(yīng)用的化部暑。使用鏡像運(yùn)行一個(gè)容器在以上操作中,我們通過(guò)鏡像運(yùn)行了容器,并將容器命名為。此時(shí)可通過(guò)訪問(wèn)服務(wù)。

初始化Dockerfile

假設(shè)我們的項(xiàng)目名為express,在express項(xiàng)目中創(chuàng)建編輯Dockerfile文件:

$ vim Dockerfile

FROM node:latest

RUN mkdir -p /home/www/express
WORKDIR /home/www/express

COPY . /home/www/express

RUN npm install

EXPOSE 3000

ENTRYPOINT ["npm", "run"]
CMD ["start"]

這個(gè)文件包含了以下命令:

FROM node:latest - 指定使用最新版本的node基礎(chǔ)鏡像

RUN mkdir -p /home/www/express - 在容器內(nèi)創(chuàng)建/home/www/express目錄

WORKDIR /home/www/express - 將容器內(nèi)工作目錄設(shè)置為/home/www/express

COPY . /home/www/express - 將宿主機(jī)當(dāng)前目錄下內(nèi)容復(fù)制到鏡像/home/www/express目錄下

RUN npm install - npm install安裝應(yīng)用所需的NPM包

EXPOSE 3000 - 對(duì)外開(kāi)放容器的3000端口

ENTRYPOINT ["npm", "run"] - 容器啟動(dòng)后執(zhí)行的命令。不可被docker run提供的參數(shù)覆蓋

CMD ["start"] - 在容器啟動(dòng)時(shí),執(zhí)行的命令,可被docker run提供的參數(shù)覆蓋

構(gòu)建鏡像

編寫(xiě)完Dockerfile文件后,就可以通過(guò)docker build命令來(lái)構(gòu)建鏡像:

$ sudo docker build -t test/express .

我們通過(guò)-t參數(shù),將鏡像命名為test/express。構(gòu)建過(guò)程類似如下:

Sending build context to Docker daemon  29.7 kB
Step 1/8 : FROM registry.src.followme.com:5000/node:v1
 ---> c99c549e8227
Step 2/8 : RUN mkdir -p /home/www/express-app
 ---> Running in 8be9a90629b0
 ---> b9f584851225
Removing intermediate container 8be9a90629b0
Step 3/8 : WORKDIR /home/www/express-app
 ---> 5072c31f9dd9
Removing intermediate container e9dbf4ce3d8b
Step 4/8 : COPY . /home/www/express-app
 ---> a4d1725f15ed
Removing intermediate container 30aa49765015
Step 5/8 : RUN yarn
 ---> Running in f181c243deaa
yarn install v1.3.2
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 9.46s.
 ---> d390931d73e6
Removing intermediate container f181c243deaa
Step 6/8 : EXPOSE 3000
 ---> Running in 94101ab38864
 ---> 43199a8a5a90
Removing intermediate container 94101ab38864
Step 7/8 : ENTRYPOINT npm run
 ---> Running in 80b1318962cf
 ---> 6b203c50e855
Removing intermediate container 80b1318962cf
Step 8/8 : CMD start
 ---> Running in a9909e537f59
 ---> d56eae48377c
Removing intermediate container a9909e537f59
Successfully built d56eae48377c
運(yùn)行容器

鏡像構(gòu)建完成后,可以通過(guò)所構(gòu)建的鏡像創(chuàng)建/運(yùn)行容器,從而實(shí)現(xiàn)express應(yīng)用的 Docker 化部暑。

使用tets/express鏡像運(yùn)行一個(gè)容器:

$ sudo docker run -d --name experss-app -p 3000:3000 test/express

在以上操作中,我們通過(guò)test/express鏡像運(yùn)行了容器,并將容器命名為experss-app。運(yùn)行容器,我們還指定了-d參數(shù),該參數(shù)使容器以后臺(tái)的方式運(yùn)行。而-p參數(shù)將宿主機(jī)的3000端口映射到了容器的3000端口。運(yùn)行容器后,可以通過(guò)docker ps命令看到運(yùn)行中的容器。此時(shí)可通過(guò)localhost:3000訪問(wèn)服務(wù)。

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

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

相關(guān)文章

  • 一步步學(xué)會(huì)用docker部署應(yīng)用(nodejs版)

    摘要:本文將采用技術(shù)部署一個(gè)簡(jiǎn)單的應(yīng)用,它包括一個(gè)簡(jiǎn)單的前置網(wǎng)關(guān)服務(wù)器以及業(yè)務(wù)服務(wù)器。同時(shí)使用配置特定鏡像,采用進(jìn)行容器編排,解決依賴網(wǎng)絡(luò)等問(wèn)題。服務(wù)器首先搭建一個(gè)單節(jié)點(diǎn)緩存服務(wù),采用官方提供的最新版鏡像,無(wú)需構(gòu)建。 docker是一種虛擬化技術(shù),可以在內(nèi)核層隔離資源。因此對(duì)于上層應(yīng)用而言,采用docker技術(shù)可以達(dá)到類似于虛擬機(jī)的沙盒環(huán)境。這大大簡(jiǎn)化了應(yīng)用部署,讓運(yùn)維人員無(wú)需陷入無(wú)止境繁瑣...

    canger 評(píng)論0 收藏0
  • 一步步學(xué)會(huì)用docker部署應(yīng)用(nodejs版)

    摘要:本文將采用技術(shù)部署一個(gè)簡(jiǎn)單的應(yīng)用,它包括一個(gè)簡(jiǎn)單的前置網(wǎng)關(guān)服務(wù)器以及業(yè)務(wù)服務(wù)器。同時(shí)使用配置特定鏡像,采用進(jìn)行容器編排,解決依賴網(wǎng)絡(luò)等問(wèn)題。服務(wù)器首先搭建一個(gè)單節(jié)點(diǎn)緩存服務(wù),采用官方提供的最新版鏡像,無(wú)需構(gòu)建。 docker是一種虛擬化技術(shù),可以在內(nèi)核層隔離資源。因此對(duì)于上層應(yīng)用而言,采用docker技術(shù)可以達(dá)到類似于虛擬機(jī)的沙盒環(huán)境。這大大簡(jiǎn)化了應(yīng)用部署,讓運(yùn)維人員無(wú)需陷入無(wú)止境繁瑣...

    BlackMass 評(píng)論0 收藏0
  • Node.js docker 鏡像體積優(yōu)化實(shí)踐

    摘要:接下來(lái)我們將逐步的減少這個(gè)鏡像的體積。優(yōu)化生產(chǎn)環(huán)境鏡像使用鏡像大幅減小鏡像體積的最簡(jiǎn)單和最快的方法是選擇一個(gè)小得多的基本鏡像。使用多階段構(gòu)建可以充分利用鏡像的緩存,大大減少最終部署到生產(chǎn)環(huán)境的時(shí)間。 關(guān)注作者github每日一道面試題詳解 你討厭部署你的應(yīng)用程序花費(fèi)很長(zhǎng)時(shí)間嗎? 對(duì)于單個(gè)容器來(lái)說(shuō),超過(guò)gb并不是最佳實(shí)踐。每次部署新版本時(shí)都要處理數(shù)十億字節(jié),這對(duì)我們來(lái)說(shuō)并不太合適。 本文...

    wenhai.he 評(píng)論0 收藏0
  • Docker部署基于Nodejs的Web應(yīng)用-實(shí)戰(zhàn)篇

    摘要:采用虛擬化的技術(shù)來(lái)虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。安裝成功后,可以通過(guò)查看版本號(hào)盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號(hào),到此你已經(jīng)成功構(gòu)建了一個(gè)新的鏡像,你可以通過(guò),查看你的鏡像。部署時(shí)將此文件到生產(chǎn)環(huán)境服務(wù)器上。 Docker docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,可以為我們提供安全、可移植、可重復(fù)的自動(dòng)化部署的方式。docker采用虛擬化的技術(shù)來(lái)虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。此...

    marek 評(píng)論0 收藏0
  • Docker部署基于Nodejs的Web應(yīng)用-實(shí)戰(zhàn)篇

    摘要:采用虛擬化的技術(shù)來(lái)虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。安裝成功后,可以通過(guò)查看版本號(hào)盡量使用最新的穩(wěn)定版本。是鏡像名,是鏡像的版本號(hào),到此你已經(jīng)成功構(gòu)建了一個(gè)新的鏡像,你可以通過(guò),查看你的鏡像。部署時(shí)將此文件到生產(chǎn)環(huán)境服務(wù)器上。 Docker docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,可以為我們提供安全、可移植、可重復(fù)的自動(dòng)化部署的方式。docker采用虛擬化的技術(shù)來(lái)虛擬化出應(yīng)用程序的運(yùn)行環(huán)境。此...

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

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

0條評(píng)論

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