你聽到過這樣的對話嗎?
這種對話很常見。這一般是由于工作環境設置或配置不同而引起的。這就是為什么要使用 docker 的主要目的。
在文中,我將教你什么是 docker,為什么使用以及怎樣用來給 nodejs 程序打包。
什么是Docker?
Docker 的定義為:
Docker 是一個容器化平臺,用于將應用程序及其依賴項打包在一起,以確保無論工作環境如何,應用程序都能輕松運行。
好吧,這些文字只是告訴我們:
Docker 是一種用容器輕松創建、部署和運行應用程序的工具。
為什么要使用 Docker?
Docker 會將你的機器環境與你的代碼一起提供給其他人,這樣當你團隊伙伴得到你的代碼時,他們也可以得到你的機器配置。由于代碼在擁有這些配置的計算機上運行,因此肯定可以在其它計算機上運行,因為它們具有和你相同的配置。
現在可以把用在配置新計算機上的時間投入到更具更重要的工作中。
如何使用 Docker?
安裝
- 請訪問 nodejs
- 在菜單中的 Docker Desktop 選項卡下查看如何為你的機器安裝 docker
Windows 用戶請注意
1. 你需要在計算機中啟用虛擬化。要檢查是否啟用了虛擬化,請按照以下步驟操作:
- 在鍵盤上按 ctrl + alt + del
- 在隨后的菜單中選擇“任務管理器”
- 在彈出的 Windows 對話框中單擊“性能”標簽。這是我的
2. 對于使用 Windows 8 或更早版本的用戶,請使用 nodejs
用 Docker 給 nodejs 程序打包
確保已啟動 docker,并且將其設置為 running,以便你查看更改或 docker 效果。
- 接下來,在項目的根目錄中創建一個文件,并將其命名為 Dockerfile,不帶擴展名。
配置 Dockerfile
-
在文件中輸入以下代碼來指定我們正在使用的 ?docker node
#?use?docker?node?10 FROM?node:10
-
輸入以下代碼為 Docker 應用創建目錄
#?create?a?directory?to?run?docker WORKDIR?/app
-
以下代碼把 package.json 文件復制到 /app 目錄中
#?copy?package.json?into?the?new?directory COPY?package.json?/app
-
以下代碼在 Docker 應用中安裝項目的依賴項
#?install?the?dependencies RUN?npm?install
-
現在把項目中的所有的文件和文件夾復制到 docker 的 /app目錄中。以下是代碼:
#?copy?all?other?files?and?folder?into?the?app?directory COPY?.?/app
-
以下代碼指定 docker 應用運行的端口
#?open?port?5000 EXPOSE?5000
-
使用以下代碼運行 docker 應用
#?run?the?server CMD?node?index.js
現在我們的 Dockerfile 看起來是這樣:
#?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
構建 Docker 應用
- 要構建 docker 應用,請在終端中鍵入以下命令,然后按 Enter 鍵
docker?build?-t?docker-node-app?.
你的終端應輸出類似下面的信息:
在上面的命令中,docker-node-app 是我們正在創建的 docker 應用的名稱。你的可能會有所不同。另外,請不要忘記結尾處的句點(.)
運行 Docker App
- 最后在終端中用以下命令運行 docker 應用:
docker?run?-it?-p?5000:3000?docker-node-app
它會輸出與普通應用完全相同的消息,但是這次,它加載在端口5000上
在上面的命令中,我們告訴 docker 運行在端口 5000 上構建的程序,即使我們的程序運行在端口 3000 上。
結果
現在,我們的 Docker 運行在 5000 端口上,而原始應用程序運行在 3000 端口上。檢查你的瀏覽器
要查看所有正在運行的 docker 程序,請在終端中使用以下命令
docker?ps
如果檢查 Docker 儀表板,則會看到你的 Docker 程序:
你已經用 docker 創建了你的第一個部署。
總結
在快速迭代的系統中, docker 是很重要。因此我們需要學習它。
我們使用的大多數代碼都在 nodejs 上找到。像 Microsoft、mongoDB、PHP 等許多公司已經為這些事情制作了代碼(或鏡像),因此你需要做的就是制作自己的副本。
這些配置稱為鏡像。例如可以在nodejs。
謝謝你的閱讀。
原文:https://dev.to/ebereplenty/docker-an-introduction-with-nodejs-4o2j?utm_source=dormosheio&utm_campaign=dormosheio
作者:NJOKU SAMSON EBERE
更多編程相關知識,可訪問:nodejs!!