在這篇文章中,我們將學(xué)習(xí)如何使用 Docker 創(chuàng)建一個(gè) Node.js 應(yīng)用程序。Docker 是一個(gè)輕量級(jí)、可移植和自包含的容器平臺(tái),可以幫助開發(fā)者輕松構(gòu)建、打包、部署和運(yùn)行軟件應(yīng)用程序。
首先,我們需要確保我們的系統(tǒng)上已經(jīng)安裝了 Docker。我們可以使用以下命令來檢查 Docker 是否已經(jīng)安裝:
docker --version
如果返回 Docker 版本號(hào),則說明已經(jīng)安裝了 Docker。
接下來,我們需要?jiǎng)?chuàng)建一個(gè) Node.js 應(yīng)用程序。我們可以使用以下命令來創(chuàng)建一個(gè)新的 Node.js 應(yīng)用程序:
mkdir myapp
cd myapp
npm init -y
npm install express
這將創(chuàng)建一個(gè)名為 myapp 的目錄,并且在其中初始化一個(gè)新的 Node.js 應(yīng)用程序,并且安裝了 Express.js 框架。
接下來,我們需要?jiǎng)?chuàng)建一個(gè) Dockerfile,它包含了構(gòu)建我們的容器所需要的指令和環(huán)境。我們可以使用以下內(nèi)容來創(chuàng)建 Dockerfile 文件:
FROM node:12-alpine
WORKDIR /app
COPY . .
RUN npm install --production
EXPOSE 3000
CMD ["npm", "start"]
這個(gè) Dockerfile 文件指定使用 Node.js 版本為 12,并且使用 Alpine 版本的系統(tǒng)鏡像。接著,我們創(chuàng)建了一個(gè)名為 /app 的工作目錄,并將當(dāng)前目錄中的所有文件復(fù)制到工作目錄中。然后,我們運(yùn)行 npm install --production 命令來安裝生產(chǎn)環(huán)境下的依賴項(xiàng)。接著,我們暴露了容器中的 3000 端口,并且使用 CMD 定義了在容器啟動(dòng)時(shí)運(yùn)行的命令。
現(xiàn)在我們可以構(gòu)建這個(gè)容器了。我們可以使用以下命令來構(gòu)建并且標(biāo)記這個(gè)容器:
docker build -t myapp .
這將使用當(dāng)前目錄中的 Dockerfile 來構(gòu)建一個(gè)名為 myapp 的容器。在構(gòu)建完成后,我們可以使用以下命令來運(yùn)行這個(gè)容器:
docker run -p 3000:3000 myapp
這將以映射本地端口 3000 啟動(dòng) myapp 容器。
最后,在瀏覽器中訪問 http://localhost:3000,就可以看到我們的 Node.js 應(yīng)用程序正在運(yùn)行了!