你聽到過(guò)這樣的對(duì)話嗎?

這種對(duì)話很常見。這一般是由于工作環(huán)境設(shè)置或配置不同而引起的。這就是為什么要使用 docker 的主要目的。
在文中,我將教你什么是 docker,為什么使用以及怎樣用來(lái)給 nodejs 程序打包。
【相關(guān)推薦:Docker視頻教程、node js教程】
什么是Docker?Docker 的定義為:
Docker 是一個(gè)容器化平臺(tái),用于將應(yīng)用程序及其依賴項(xiàng)打包在一起,以確保無(wú)論工作環(huán)境如何,應(yīng)用程序都能輕松運(yùn)行。
好吧,這些文字只是告訴我們:
Docker 是一種用容器輕松創(chuàng)建、部署和運(yùn)行應(yīng)用程序的工具。為什么要使用 Docker?
Docker 會(huì)將你的機(jī)器環(huán)境與你的代碼一起提供給其他人,這樣當(dāng)你團(tuán)隊(duì)伙伴得到你的代碼時(shí),他們也可以得到你的機(jī)器配置。由于代碼在擁有這些配置的計(jì)算機(jī)上運(yùn)行,因此肯定可以在其它計(jì)算機(jī)上運(yùn)行,因?yàn)樗鼈兙哂泻湍阆嗤呐渲谩?/p>
現(xiàn)在可以把用在配置新計(jì)算機(jī)上的時(shí)間投入到更具更重要的工作中。
如何使用 Docker?安裝請(qǐng)?jiān)L問(wèn) Docker 官網(wǎng)在菜單中的 Docker Desktop 選項(xiàng)卡下查看如何為你的機(jī)器安裝 dockerWindows 用戶請(qǐng)注意
1. 你需要在計(jì)算機(jī)中啟用虛擬化。要檢查是否啟用了虛擬化,請(qǐng)按照以下步驟操作:
在鍵盤上按ctrl + alt + del在隨后的菜單中選擇“任務(wù)管理器”在彈出的 Windows 對(duì)話框中單擊“性能”標(biāo)簽。這是我的2. 對(duì)于使用 Windows 8 或更早版本的用戶,請(qǐng)使用 docker toolbox
用 Docker 給 Nodejs 程序打包確保已啟動(dòng) docker,并且將其設(shè)置為 running,以便你查看更改或 docker 效果。首先從 github 克隆項(xiàng)目按照自述文件中的說(shuō)明設(shè)置項(xiàng)目。如果你設(shè)置完成了項(xiàng)目并且運(yùn)行了服務(wù)器,則應(yīng)該在瀏覽器中得到以下響應(yīng)接下來(lái),在項(xiàng)目的根目錄中創(chuàng)建一個(gè)文件,并將其命名為
Dockerfile,不帶擴(kuò)展名。配置 Dockerfile在文件中輸入以下代碼來(lái)指定我們正在使用的 docker node
# use docker node 10 FROM node:10
輸入以下代碼為 Docker 應(yīng)用創(chuàng)建目錄
# create a directory to run docker WORKDIR /app
以下代碼把 package.json文件復(fù)制到 /app目錄中
# copy package.json into the new directory COPY package.json /app
以下代碼在 Docker 應(yīng)用中安裝項(xiàng)目的依賴項(xiàng)
# install the dependencies RUN npm install
現(xiàn)在把項(xiàng)目中的所有的文件和文件夾復(fù)制到 docker 的 /app目錄中。以下是代碼:
# copy all other files and folder into the app directory COPY . /app
以下代碼指定 docker 應(yīng)用運(yùn)行的端口
# open port 5000 EXPOSE 5000
使用以下代碼運(yùn)行 docker 應(yīng)用
# run the server CMD node index.js
現(xiàn)在我們的 Dockerfile看起來(lái)是這樣:
# use docker node 10 FROM node:10 # create a directory to run docker WORKDIR /app # copy package.json into the new directory COPY package.json /app # install the dependencies RUN npm install # copy all other files into the app directory COPY . /app # open port 5000 EXPOSE 5000 # run the server CMD node index.js構(gòu)建 Docker 應(yīng)用要構(gòu)建 docker 應(yīng)用,請(qǐng)?jiān)诮K端中鍵入以下命令,然后按
Enter鍵docker build -t docker-node-app .
你的終端應(yīng)輸出類似下面的信息:
在上面的命令中,docker-node-app是我們正在創(chuàng)建的 docker 應(yīng)用的名稱。你的可能會(huì)有所不同。另外,請(qǐng)不要忘記結(jié)尾處的句點(diǎn)(.)
docker run -it -p 5000:3000 docker-node-app
它會(huì)輸出與普通應(yīng)用完全相同的消息,但是這次,它加載在端口5000上
在上面的命令中,我們告訴 docker 運(yùn)行在端口 5000 上構(gòu)建的程序,即使我們的程序運(yùn)行在端口 3000 上。
結(jié)果現(xiàn)在,我們的 Docker 運(yùn)行在 5000 端口上,而原始應(yīng)用程序運(yùn)行在 3000 端口上。檢查你的瀏覽器
要查看所有正在運(yùn)行的 docker 程序,請(qǐng)?jiān)诮K端中使用以下命令
docker ps
如果檢查 Docker 儀表板,則會(huì)看到你的 Docker 程序:
你已經(jīng)用 docker 創(chuàng)建了你的第一個(gè)部署。
總結(jié)在快速迭代的系統(tǒng)中, docker 是很重要。因此我們需要學(xué)習(xí)它。
我們使用的大多數(shù)代碼都在 docker hub 上找到。像 Microsoft、mongoDB、PHP 等許多公司已經(jīng)為這些事情制作了代碼(或鏡像),因此你需要做的就是制作自己的副本。
這些配置稱為鏡像。例如可以在這里找到我們所使用的 node 鏡像。
謝謝你的閱讀。
原文:https://dev.to/ebereplenty/docker-an-introduction-with-nodejs-4o2j?utm_source=dormosheio&utm_campaign=dormosheio
作者:NJOKU SAMSON EBERE
更多編程相關(guān)知識(shí),可訪問(wèn):編程教學(xué)!!
網(wǎng)站標(biāo)題:什么是Docker?怎樣用來(lái)打包Nodejs程序?
本文地址:http://chinadenli.net/article22/cjiccc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、全網(wǎng)營(yíng)銷推廣、用戶體驗(yàn)、定制網(wǎng)站、企業(yè)建站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)