新聞中心
你聽(tīng)到過(guò)這樣的對(duì)話嗎?
這種對(duì)話很常見(jiàn)。這一般是由于工作環(huán)境設(shè)置或配置不同而引起的。這就是為什么要使用 docker 的主要目的。
在文中,我將教你什么是 docker,為什么使用以及怎樣用來(lái)給 nodejs 程序打包。
【相關(guān)推薦:Docker視頻教程、node js教程】
什么是Docker?Docker 的定義為:
Docker 是一個(gè)容器化平臺(tái),用于將應(yīng)用程序及其依賴(lài)項(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 用戶(hù)請(qǐng)注意
1. 你需要在計(jì)算機(jī)中啟用虛擬化。要檢查是否啟用了虛擬化,請(qǐng)按照以下步驟操作:
在鍵盤(pán)上按ctrl + alt + del
在隨后的菜單中選擇“任務(wù)管理器”在彈出的 Windows 對(duì)話框中單擊“性能”標(biāo)簽。這是我的2. 對(duì)于使用 Windows 8 或更早版本的用戶(hù),請(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)目的依賴(lài)項(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)輸出類(lèi)似下面的信息:
在上面的命令中,docker-node-app
是我們正在創(chuàng)建的 docker 應(yīng)用的名稱(chē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)為這些事情制作了代碼(或鏡像),因此你需要做的就是制作自己的副本。
這些配置稱(chē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é)!!
文章題目:什么是Docker?怎樣用來(lái)打包Nodejs程序?
當(dāng)前地址:http://fisionsoft.com.cn/article/cjiccc.html