iT邦幫忙

2025 iThome 鐵人賽

DAY 21
0

https://ithelp.ithome.com.tw/upload/images/20251003/20168458PhUaqMRt5C.png

1️⃣ Docker 的目標與概念

  • 目標:學會 Docker,為軟體開發、專案部署與自動化提供穩定環境

  • 核心概念

    • 容器化工具:將應用程式及其依賴環境打包在一起,確保在不同電腦上運行結果一致
    • Image:容器模板,包含應用程式及運行環境
    • Container:運行中的實例,由 Image 啟動
    • 保證應用程式的可移植性、可重現性與環境一致性

2️⃣ Docker 的優勢

  • 環境隔離,避免「在我電腦可以跑」的問題
  • 輕量化,相較虛擬機消耗資源少
  • 快速部署與啟動
  • 易於自動化與 CI/CD 流程整合

3️⃣ 安裝與環境準備

  • Windows / Mac:安裝 Docker Desktop
  • Linux:安裝 Docker Engine
  • 驗證安裝
docker --version
  • 建議安裝 Docker Compose,方便管理多個容器

4️⃣ 基本操作流程

  1. 拉取 Image
docker pull <image_name>
  1. 啟動 Container
docker run -it --rm -p <host_port>:<container_port> <image_name>
  1. 查看運行中容器
docker ps
  1. 停止容器
docker stop <container_id>
  1. 管理 Image
docker images       # 查看本地 Image
docker rmi <image>  # 刪除 Image

5️⃣ Docker 常用概念

  • Volume:資料持久化,可在容器重啟或刪除後保留資料
  • Network:容器之間的網路連線管理
  • Dockerfile:定義如何建構自訂 Image 的腳本
  • Docker Compose:管理多個容器、服務與網路的工具

6️⃣ Docker 在專案中的應用

  • 軟體開發:提供一致的開發環境
  • 自動化測試與 CI/CD:快速部署測試環境
  • 專案部署:容器化服務,簡化伺服器設定
  • 多容器協作:例如前端、後端、資料庫可分別運行於不同容器

7️⃣ 常見問題與排查

  • 容器無法啟動:

    • Windows/Mac:確認虛擬化已啟用
    • Linux:確認 Docker 服務已啟動:
systemctl start docker
  • 端口被占用 → 修改 -p host_port:container_port
  • 容器資料丟失 → 使用 Volume 做資料持久化

8️⃣ 小結

  • Docker 是現代軟體開發、部署與自動化的基礎工具
  • 核心概念:Image、Container、Volume、Network
  • 學會 Docker 後,能快速搭建專案環境,確保跨平台的一致性與穩定性

上一篇
Web 搜尋 Agent:自動查詢與回應
系列文
30 天打造你的 AI Agent:LangChain × n8n 實戰21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言