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

資訊專欄INFORMATION COLUMN

使用Docker部署Node應(yīng)用

CastlePeaK / 2129人閱讀

摘要:本篇我們來動(dòng)手實(shí)踐在本地創(chuàng)建一個(gè)自己的鏡像應(yīng)用,使用該鏡像創(chuàng)建容器并執(zhí)行容器中的應(yīng)用。非常簡單,我們使用命令使用鏡像創(chuàng)建一個(gè)容器實(shí)例此刻腦海中浮現(xiàn)。

上篇《前端也要學(xué)Docker啊!》介紹了 Docker 及它的三個(gè)主要概念:Image(鏡像)、Container
(容器)、Registry(倉庫) 以及Docker安裝。

本篇我們來動(dòng)手實(shí)踐:在本地創(chuàng)建一個(gè)自己的鏡像(Node應(yīng)用),使用該鏡像創(chuàng)建容器并執(zhí)行容器中的Node應(yīng)用。

創(chuàng)建一個(gè)Node項(xiàng)目

在根目錄創(chuàng)建index.js

//index.js
const Koa = require("koa");
const app = new Koa();

app.use(async ctx => {
  ctx.body = "Hello Docker O(∩_∩)O~~";
});

app.listen(3000);

創(chuàng)建 Docker 鏡像需要用到 docker build命令,而docker build命令又是根據(jù) Dockerfile 配置文件來構(gòu)建鏡像,所以我們要在項(xiàng)目根目錄創(chuàng)建一個(gè) Dockerfile 文件:

#Dockerfile
FROM node:10.13-alpine #項(xiàng)目的基礎(chǔ)依賴
MAINTAINER chenLong #項(xiàng)目維護(hù)者
COPY . . #將本機(jī)根目錄所有文件拷貝到容器的根目錄下 這個(gè)可以根據(jù)喜好調(diào)節(jié)路徑
EXPOSE 3000 #容器對外暴露的端口
RUN npm i #安裝node依賴
CMD npm start #在容器環(huán)境里執(zhí)行的命令

你可以到 Docker 官網(wǎng)查看詳細(xì)的Dockfile說明

構(gòu)建鏡像

上面 Node 代碼已經(jīng)完成了,我們使用 yarn init -ynpm init -y 完成package.json初始化,然后安裝一個(gè)koa依賴:執(zhí)行yarn add koanpm i koa

然后我們在本地跑一下 node 程序:node index.js,打開瀏覽器輸入 localhost:3000 ,可以看到瀏覽器中成功顯示了 Hello Docker O(∩_∩)O~~ 。

程序沒問題,我們開始構(gòu)建這個(gè)鏡像,執(zhí)行命令:docker build -t docker-demo/hello-docker:v1 . (注意最后有個(gè) . 是必須的)

-t: --tag簡寫,鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;可以在一次構(gòu)建中為一個(gè)鏡像設(shè)置多個(gè)標(biāo)簽。

上面的 docker-demo/hello-docker是我們定義的鏡像名稱,v1是標(biāo)簽名稱(類似版本號)


圖中藍(lán)色框表示 Dockerfile 的執(zhí)行步驟。此時(shí)一個(gè)名為docker-demo/hello-docker的鏡像已經(jīng)創(chuàng)建完成了,現(xiàn)在我們執(zhí)行docker images查看一下:

表示本地的鏡像列表中已經(jīng)有了我們剛才創(chuàng)建的docker-demo/hello-docker

讓Node程序在Docker中跑起來

上面已經(jīng)創(chuàng)建好了鏡像,里面包含著我們寫的代碼,現(xiàn)在我們需要把代碼運(yùn)行起來。
非常簡單,我們使用docker run命令使用鏡像創(chuàng)建一個(gè)容器實(shí)例(此刻腦海中浮現(xiàn) var p1 = new Person() )。

我們執(zhí)行命令: docker run -i -t -p 8080:3000 docker-demo/hello-docker:v1

-i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;

-t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;

-p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口,這里將容器的3000端口與宿主機(jī)的8080端口映射

打開瀏覽器,運(yùn)行localhost:8080:

完美,容器里的代碼已經(jīng)跑起來了!

總結(jié)

在項(xiàng)目根目錄創(chuàng)建 Dockerfile 并配置

使用 docker build 命令創(chuàng)建Docker鏡像,該命令會根據(jù) Dockerfile 里的配置來構(gòu)建鏡像

使用 docker run 命令根據(jù)鏡像創(chuàng)建對應(yīng)的容器實(shí)例并運(yùn)行

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

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

相關(guān)文章

  • Docker Swarm部署應(yīng)用的總結(jié)

    摘要:配置網(wǎng)絡(luò)參照生產(chǎn)環(huán)境配置中的和子網(wǎng)章節(jié)。特別注意觀察和的子網(wǎng)是否與已有網(wǎng)絡(luò)沖突如果有沖突則參考網(wǎng)絡(luò)的中的方法修改子網(wǎng)。部署使用的是的監(jiān)控方案。創(chuàng)建應(yīng)用網(wǎng)絡(luò)創(chuàng)建你也可以改成自己的名字參考網(wǎng)絡(luò)的檢查子網(wǎng)與是否配置正確。 原文 大綱 本文只是一種實(shí)際部署方案的例子,涉及到的技術(shù)有(除Docker/Docker Swarm外): Docker overlay network Fluentd...

    Paul_King 評論0 收藏0
  • 使用Docker部署Node應(yīng)用

    摘要:本篇我們來動(dòng)手實(shí)踐在本地創(chuàng)建一個(gè)自己的鏡像應(yīng)用,使用該鏡像創(chuàng)建容器并執(zhí)行容器中的應(yīng)用。非常簡單,我們使用命令使用鏡像創(chuàng)建一個(gè)容器實(shí)例此刻腦海中浮現(xiàn)。 上篇《前端也要學(xué)Docker啊!》介紹了 Docker 及它的三個(gè)主要概念:Image(鏡像)、Container(容器)、Registry(倉庫) 以及Docker安裝。 本篇我們來動(dòng)手實(shí)踐:在本地創(chuàng)建一個(gè)自己的鏡像(Node應(yīng)用),使...

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

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

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

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

    mikasa 評論0 收藏0
  • 帶你理解Kubernetes,部署一個(gè)Node應(yīng)用

    摘要:應(yīng)用實(shí)例創(chuàng)建完成后,會持續(xù)監(jiān)視這些實(shí)例。創(chuàng)建時(shí),會創(chuàng)建了一個(gè)來托管應(yīng)用。通過請求,可以從集群的外部訪問一個(gè)服務(wù)。使用云提供商的負(fù)載均衡器如果支持,可以向外部暴露服務(wù)。使用在中部署第一個(gè)應(yīng)用本文以為例進(jìn)行。目標(biāo)是將簡單的應(yīng)用部署在上運(yùn)行。 Kubernetes是什么? Kubernetes是容器集群管理系統(tǒng),是一個(gè)開源的平臺,可以實(shí)現(xiàn)容器集群的自動(dòng)化部署、自動(dòng)擴(kuò)縮容、維護(hù)等功能。可以在物...

    qqlcbb 評論0 收藏0

發(fā)表評論

0條評論

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