FE Interview Hub
categories.containers-platform 基礎

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 評分