在 Ubuntu 18.04 上安裝 Docker 與 Docker Compose

什麼是 Docker

Docker 是最近紅透半邊天的開放原始碼軟體專案,讓應用程式布署在軟體容器下的工作可以自動化進行,藉此在Linux作業系統上,提供一個額外的軟體抽象層,以及作業系統層虛擬化的自動管理機制。….應用程式在任何地方都可以執行,無論是公有雲、私有雲、單機等。(摘錄自維基百科)

講白話一點, Docker 就是類似 VMware 或是 VirtualBox 等虛擬機器,可以實現作業系統虛擬化的技術。但是使用 Docker 的運行速度更快,記憶體需求更少,也更方便管理布署,而且完全免費,這種輕量級的虛擬化是近年來 Docker 快速崛起的原因。

現在 Docker 不僅在 Linux 上,連原生 MAC 和 Windows 版 Docker 也已經推出了,但是 MAC 版 Docker 至少需要 OS X 10.10.3 以上的版本,以及 2010 以後的 MAC 電腦,而Windows 版 Docker 則僅支援 Windows 10 專業版。

使用 Docker 佈署服務的優點

直接從網路上(Docker Hub)下載 Docker Image 即可在雲端或單機上執行,不須花時間研究服務安裝設定的繁瑣步驟。

在同一台主機可能執行許多不同的服務,通常這些服務都需要安裝相依的特定軟體版本,例如使用的資料庫軟體,而 Docker 將這些軟體通通包在 Docker 容器(Container)裡面,不會有軟體版本不相容的問題,造成 Linux 環境的汙染。

以往伺服器的備份通常需要專業網管人員來執行,例如資料庫的備份需要使用資料庫管理軟體來進行備份,但是使用 Docker 之後,所有的資料都可以變成一般檔案來進行備份,Linux 使用者就可以輕鬆操作。

如果變更服務設定或是服務出問題,只需要下一行指令就可以停止、啟動或重啟 Docker 容器,不需要將伺服器重新開機,所以完全不影響伺服器其他服務的運行。

如何安裝最新版本 Docker

網路上有很多介紹及安裝 Docker 的文章,我是直接參考官方的文件來安裝最新版本的 Docker CE:Get Docker CE for Ubuntu。如果懶得看英文說明的話,請參考我的安裝步驟,最後一行的指令 sudo usermod -aG docker wizigo 中的 wizigo 是我登入 Ubuntu 的使用者名稱,請改成您登入的名稱:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove docker docker-engine docker.io
sudo apt-get install apt ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
sudo docker run hello-world
sudo systemctl status docker
docker -v
(Use Docker as a non-root user)
sudo usermod -aG docker wizigo

什麼是 Docker Compose

Docker Compose 是一個工具,可以讓您可以透過指令就可以控制所有 Docker 專案中所需要的服務。Docker Compose 是用 YAML 檔案格式來描述和定義專案中服務的運作關係,白話來說,就是用來管理 Docker 容器(Container)的文件檔。為了方便管理,建議使用 Docker Compose 來進行 Docker 容器的操作與維護。

如何安裝最新版本 Docker Compose

請至 Docker Compsoe 官方 Release 網頁查看最新版本:https://github.com/docker/compose/releases
底下安裝指令是以目前最新版本 1.23.0-rc3 為例:

curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

操作方式會陸續在之後的文章中以實際案例來說明。謝謝!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *