Docker 是一種容器化(Containerization)技術,可以將程式與執行時需要的環境包裝在一起。
開發程式時,有時會遇到「我的電腦可以跑,換一台電腦卻不能跑」的情況,原因可能是軟體版本、套件或環境設定不同。
Docker 可以透過 Container(容器) 建立相對獨立的執行環境,讓不同電腦可以使用較一致的環境。
Container 可以先簡單理解成一個獨立的執行環境。
例如之後要使用 PostgreSQL,就可以透過 Docker 建立 PostgreSQL Container:
我的電腦
│
└── PostgreSQL Container
└── PostgreSQL
需要時可以啟動,不需要時則可以停止或刪除,管理環境也更加方便。
剛開始接觸 Docker,最常看到的幾個名詞有:
其中最重要的可以先記成:
Image → Container
模板 → 實際執行的環境
後面的文章會再逐一實際操作。
這次學習 Docker,主要是希望可以用它建立 PostgreSQL 資料庫環境。
比起直接把 PostgreSQL 安裝在電腦上,透過 Docker 可以更方便地建立、停止或重新建立環境,也能藉此學習 Container、Image、Volume 等概念。
這 30 天希望可以從 Docker 基礎開始,最後成功建立 PostgreSQL,並將資料庫實際應用到自己的專案中。
今天第一次比較完整地了解 Docker,以前看到 Container、Image 這些名詞會覺得很複雜,但實際了解後,發現可以先把 Image 想成模板,而 Container 就是實際執行的環境。
目前還只是認識基本概念,接下來希望透過實際操作慢慢熟悉 Docker,最後可以自己使用 Docker 建立 PostgreSQL 資料庫環境。