在正式使用 docker 之前,需要先知道以下三個元素:映像檔 ( Image )、容器 ( Container )和倉庫 ( Repository )。
一個映像檔 ( Image ) 視同一個唯讀的模版,它是用來建立 docker 容器的。你可以在官方或是私有的倉庫中取得他人的映像檔,或是自己建立。
Docker 的使用是利用「容器」的概念來執行的,你可以用一個映像檔建立多個執行實例 Instance,彼此間的環境是獨立的。每一個實例,可以被啟動、開始、停止和刪除。更改其中一個,並不會影響其他實例的運作。操作上猶如簡易版的 Linux 環境,所以若你要在容器內使用 vim ...等指令的話,需要另外安裝才行。
此外,容器是依賴於映像檔進行運作。換言之,當你要移除映像檔時,得先確保相依於該映像檔的容器都已被移除。
倉庫是存放映像檔檔案的地方。每一個倉庫中會有多個映像檔,且每個映像檔上會有著不同的標籤 ( tag )來方便使用者取用。
若你有使用過 Github, Gitlab 之類的程式碼托管服務,相信你對 docker 的映像檔倉庫行為不會覺得陌生:
push
命令來上傳到倉庫pull
映像檔下來使用