[Docker] 基礎篇-基本概念

更新於 發佈於 閱讀時間約 4 分鐘

介紹

Docker 是一個開源的容器化平台,用於開發、部署和運行應用程式。它的主要目的是通過容器技術,實現應用的輕量級隔離,提供一致性、便攜性和高效性。

Docker 通過將應用及其依賴包裝到一個獨立的容器中,可以在任何支援 Docker 的環境中執行,無需擔心環境配置的差異問題。

VM跟Docker的差異?

自製表格

自製表格

Docker 基本組成

自製關聯圖

自製關聯圖

1. Docker Image(映像)

一個靜態模板,包含了應用程式運行所需的文件、程式碼、環境和依賴。

  • 用途: 作為容器運行的基礎。
  • 特點: 只讀、不可變。

2. Docker Container(容器)

基於 Image 啟動的實例,提供應用執行的隔離環境。

  • 用途: 運行應用程式,類似於虛擬機但更加輕量。
  • 特點: 可啟動、停止、刪除,且與主機共用內核資源。

3. Dockerfile

構建 Docker Image 的腳本文件,定義了從基礎映像到定製映像的構建過程。

  • 用途: 自動化構建 Image 的工具。
  • 特點: 基於指令逐步執行,如 FROMCOPYRUN 等。

4. Docker Compose

用來定義和管理多容器應用的工具,使用 YAML 文件描述服務、網路和存儲。

  • 用途: 快速啟動多容器應用。
  • 特點: 透過 docker-compose.yml 實現服務間的協作。

5. Docker Network(網路)

提供容器之間以及容器與外部之間的連接。

  • 用途: 配置隔離、橋接和端口映射等網路功能。
  • 特點: 支援多種網路模式(如橋接、主機、自定義網路)。

6. Docker Volume(卷)

是保存資料的解決方案,確保資料不會因容器刪除而丟失。

  • 用途: 存儲資料,如資料庫(DB)或日誌(Log)。
  • 特點: 容器間可共享數據,方便備份和管理。

Docker的應用情境

  1. 開發與測試環境:
    快速構建一致的環境,避免「Local運行正常,Production卻不行」的問題。
  2. 微服務架構:
    每個服務以容器形式運行,易於管理和擴展。
  3. 持續整合/持續部署(CI/CD):
    整合到 DevOps 流程中,實現自動化部署。
  4. 跨平台部署:
    在不同的雲端或伺服器環境中,確保應用一致運行。
  5. 大數據和 AI 開發:
    快速配置大數據處理框架或機器學習環境。

常用指令

  1. Images
    • 拉取映像:docker pull <image_name>
    • 列出本機映像:docker images
    • 刪除映像:docker rmi <image_id>
  2. Container
    • 啟動容器:docker run -it <image_name>
    • 列出容器:
      • 運行中:docker ps
      • 所有:docker ps -a
    • 停止容器:docker stop <container_id>
    • 刪除容器:docker rm <container_id>
  3. Container 執行命令
    • 進入容器:docker exec -it <container_id> bash
    • 檢視日誌:docker logs <container_id>
接下來會詳細說明Images & Container到dockerfile後續的應用&說明
留言
avatar-img
留言分享你的想法!
旅人小萌-avatar-img
2024/11/21
謝謝您的分享❤️
Peter Lu-avatar-img
發文者
2024/11/21
旅人小萌 謝謝小萌~
avatar-img
欸! 是彼得的資料庫
65會員
46內容數
歡迎來到彼得的沙龍,在這裡,我將與你分享書籍精華的智慧、人際溝通的技巧、理財增值的秘訣,以及情緒管理的策略。不僅幫助你打好財務基礎,還能引領你在人生的每個環節中游刃有餘。如果你渴望成長,並追求更充實的生活,這裡就是你值得關注的空間。立即加入,與我一起探索成長的無限可能!
2025/04/01
什麼是 MCP?簡單來說,MCP (Model Context Protocol) 是一種讓 AI 變得更聰明的協議,它讓 AI 可以直接使用各種外部工具,例如你的檔案系統、Notion 等等,從而大幅提升 AI 的功能和效率。本文深入淺出地解釋 MCP 的三大組成架構,並透過實際案例和常見問題。
Thumbnail
2025/04/01
什麼是 MCP?簡單來說,MCP (Model Context Protocol) 是一種讓 AI 變得更聰明的協議,它讓 AI 可以直接使用各種外部工具,例如你的檔案系統、Notion 等等,從而大幅提升 AI 的功能和效率。本文深入淺出地解釋 MCP 的三大組成架構,並透過實際案例和常見問題。
Thumbnail
2025/03/30
在現代快節奏的生活中,「今天吃什麼」常常成為一個讓我頭疼的問題。每天面對眾多餐廳選擇,很容易陷入決策疲勞。為了解決這個日常煩惱,我設計了一個簡單的餐廳推薦系統,參考交友軟體的左右滑動機制,讓使用者能夠輕鬆選擇餐廳。 純前端技術(HTML, CSS, JS)搭配GAS
Thumbnail
2025/03/30
在現代快節奏的生活中,「今天吃什麼」常常成為一個讓我頭疼的問題。每天面對眾多餐廳選擇,很容易陷入決策疲勞。為了解決這個日常煩惱,我設計了一個簡單的餐廳推薦系統,參考交友軟體的左右滑動機制,讓使用者能夠輕鬆選擇餐廳。 純前端技術(HTML, CSS, JS)搭配GAS
Thumbnail
2025/03/20
在 Laravel 開發 API 時,直接在 Controller 內進行資料加工可能會讓程式碼變得雜亂且難以維護。因此,Laravel 提供 Resource (資源轉換器) 來解決這個問題,讓我們可以統一管理 API 的輸出格式,將模型model或模型集合collection轉換為適合 API
Thumbnail
2025/03/20
在 Laravel 開發 API 時,直接在 Controller 內進行資料加工可能會讓程式碼變得雜亂且難以維護。因此,Laravel 提供 Resource (資源轉換器) 來解決這個問題,讓我們可以統一管理 API 的輸出格式,將模型model或模型集合collection轉換為適合 API
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
本文介紹了 Docker 的基本概念,包括 Docker Image、Docker Container、Dockerfile、Docker Compose 及其應用情境,如開發與測試環境、微服務架構和持續整合/持續部署。瞭解這些內容能幫助開發人員更有效地利用 Docker 進行應用程式的部署和管理。
Thumbnail
本文介紹了 Docker 的基本概念,包括 Docker Image、Docker Container、Dockerfile、Docker Compose 及其應用情境,如開發與測試環境、微服務架構和持續整合/持續部署。瞭解這些內容能幫助開發人員更有效地利用 Docker 進行應用程式的部署和管理。
Thumbnail
前言 上次我們初步體驗 Docker 快速佈署能力,今天我們要來講解 Dockerfile、Docker Image 與 Docker Container 這些常見的名詞,我們來了解在我們佈署的時候做哪些事情 Docker 佈署流程 首先看到如下圖上半部,在我們一個完整的佈署流程,我們會先將我
Thumbnail
前言 上次我們初步體驗 Docker 快速佈署能力,今天我們要來講解 Dockerfile、Docker Image 與 Docker Container 這些常見的名詞,我們來了解在我們佈署的時候做哪些事情 Docker 佈署流程 首先看到如下圖上半部,在我們一個完整的佈署流程,我們會先將我
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇
Thumbnail
講到Docker之前就必須先談談容器化, 容器化是一種軟體開發的方法, 將程式、依賴及組態封裝在映像檔之中, 那映像檔對於大部份的人來說一定非常的熟悉, 尤其是VM這個詞, 虛擬化技術的先行者, 有了這項技術之後, 我們就可以減少一些因為環境產生的問題導致難以排查程式錯誤的狀況, 甚至可以避免因為A
Thumbnail
講到Docker之前就必須先談談容器化, 容器化是一種軟體開發的方法, 將程式、依賴及組態封裝在映像檔之中, 那映像檔對於大部份的人來說一定非常的熟悉, 尤其是VM這個詞, 虛擬化技術的先行者, 有了這項技術之後, 我們就可以減少一些因為環境產生的問題導致難以排查程式錯誤的狀況, 甚至可以避免因為A
Thumbnail
上篇我們在安裝 VirtualBox 練習使用虛擬化切割出獨立空間做開發,那除了使用 VM 達到虛擬化外,另一個輕量級的虛擬化技術 - 容器化。 要使用容器,那就不能不認識 Docker
Thumbnail
上篇我們在安裝 VirtualBox 練習使用虛擬化切割出獨立空間做開發,那除了使用 VM 達到虛擬化外,另一個輕量級的虛擬化技術 - 容器化。 要使用容器,那就不能不認識 Docker
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News