Docker是一種輕量級的作業系統虛擬化解決方案,相較於傳統在Host作業系統上安裝Guest作業系統的硬體虛擬化方式,Docker可以直接在同一個Host作業系統核心上,以「容器」來區分應用程式的執行環境,也就是直接在系統層上完成虛擬化。因此Docker執行程式的效率通常會比傳統虛擬化的方式還要來得好,可以節省許多硬體資源。在實務上,Docker常被用來部署資料庫、Web應用程式等伺服器相關的程式,因為只要設定好執行環境,再將映像檔保存下來之後,就可以一直重複使用。對於程式開發人員來說,Docker也可以用來模擬不同環境下,程式是否能正常編譯和執行。



Docker官方雖然有提供官方的Docker套件給Linux作業系統使用,但筆者還是比較喜歡使用Linux發行版所提供的相對更穩定、輕巧的Docker套件。

使用Docker的時候,除了Docker本身的docker指令工具之外,我們通常還會撰寫YAML格式的Docker Compose設定檔,在一個設定檔案內定義多個不同的Docker Container服務,然後利用docker-compose指令工具來管理這些服務。所以,在這篇文章中也會一併安裝Docker Compose。

安裝Docker

基於Debian的Linux發行版可以執行以下指令來安裝Docker:

sudo apt install docker.io docker-compose docker-buildx

也可以改為安裝docker-compose-v2套件,以使用新版的Docker Compose,但指令會與舊版的差距較大。另外也可以不裝docker-buildx套件,使用舊的Builder,不過還是建議用新的,其指令基本相容舊的。

紅帽系的Linux發行版可以執行以下指令來安裝Docker:

sudo dnf install docker docker-compose

執行Hello World

輸入以下指令,嘗試執行Docker官方的Hello World容器來測試Docker有無安裝成功:

sudo docker run hello-world

如果有看到Hello from Docker!之類的訊息,表示Docker安裝成功了!

linux-docker

讓Linux使用者加入docker群組

如果您的Linux使用者並不是docker群組的一員,則無法直接使用docker指令,需要有root權限才行。錯誤訊息如下圖:

linux-docker

建議選定一個一般使用者來操作Docker,使用以下指令可以將目前的Linux使用者加至docker群組中。

sudo usermod -a -G docker $USER

linux-docker

Docker的用法

在終端機輸入以下指令,可以查看Docker的用法:

docker

linux-docker

有關於Docker的使用方式,可以再參考以下這篇文章:

Docker Compose的用法

在終端機輸入以下指令,可以查看Docker的用法:

docker-compose

linux-docker

有關於Docker Compose的使用方式,可以再參考以下這篇文章: