容器與平台運維 基礎

Docker 容器與虛擬機器有什麼差異?Image 和 Container 的關係是什麼?

AI 練習作答

容器 vs 虛擬機器

特性 虛擬機器 (VM) 容器 (Container)
隔離層級 作業系統層級 程序層級
啟動時間 分鐘
大小 GB MB
資源開銷 高(每個 VM 含完整 OS) 低(共享 Host OS kernel)
可攜性 較低

Image vs Container

Image(映像):唯讀的檔案系統快照,包含應用程式、依賴套件與設定。是靜態的模板。

Container(容器):Image 的執行實例,加入了可讀寫的層(writable layer)。是動態的執行狀態。

類比:Image 像程式碼,Container 像執行中的程序。

Dockerfile 基本結構

FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . EXPOSE 3000 CMD ["node", "server.js"]

分層快取

Dockerfile 的每個指令創建一個層,Docker 會快取未變更的層。應將變動頻繁的指令(如 COPY . .)放在後面,讓靜態依賴的快取層得以複用,加速 build。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分