步驟
首先,從 GitHub 中克隆示例項目:
git clone https://github.com/dockersamples/node-bulletin-board
cd node-bulletin-board/bulletin-board-app
node-bulletin-board
項目是一個簡單的應用程序,使用Node.js編寫。我們使用它進行容器化。
構建鏡像:
docker build --tag bulletinboard:1.0 .
從鏡像中構建容器:
docker run --publish 8000:8080 --detach --name bb bulletinboard:1.0
- --detach:在后台運行容器並打印出容器ID。
- --publish:將主機的8000端口綁定到容器的8080端口。
- --name:為容器分配一個命名。
訪問 localhost:8000
查看部署結果。
刪除容器:
docker rm --force bb
- --force:刪除正在運行的容器。
或者停止后再刪除:
docker stop bb
docker rm bb
Dockerfile 說明
應用程序中包含了一個名為 Dockerfile
的文件。 Dockerfile
定義了如何為容器構建專用文件系統,還可以包含一些元數據,這些元數據描述了如何基於該鏡像運行容器:
# 使用官方node鏡像作為父鏡像
FROM node:current-slim
# 設置工作目錄,后續的所有操作將在該目錄中執行
WORKDIR /usr/src/app
# 將 package.json 從主機中復制到當前(工作)目錄
COPY package.json .
# 在鏡像文件系統中運行命令
RUN npm install
# 通知 Docker 該容器在運行時監聽的端口
EXPOSE 8080
# 在容器中運行指定命令
CMD [ "npm", "start" ]
# 將應用程序的其余代碼從主機復制到鏡像文件系統中
COPY . .