三個基本概念:
- Image (映像檔)
- Container (容器)
- repositories (倉庫)
Image (映像檔)
Docker Image是一個唯讀的模板,用來建立 Docker Container(容器)
例如:
一個image包含一個完整的ubuntu,裡面安裝了python3或其它需使用的應用程式。
Docker 提供了一個非常簡單的方式來建立image或更新現有的image,大部分的使用者可以直接從其他人已經做好的image來下載來用。
Container(容器)
Docker 利用Container來執行應用。(注意Image是一個唯讀,要有Container才有操作)
Container是從Image建立的執行實例。主要進行Container的啟動、停止、刪除。而這裡的每個Container都是相互隔離的,彼此不會互相影響。
Repository(倉庫)
倉庫是集中Image檔案的地方,我看過的幾部教學影片,會把倉庫註冊伺服器(Registry)混為成同一個東西,
倉庫分為Public(公開)和Private(私有)兩種形式。
補充:Registry上存放著多個Repository,每個Repository又有多個Image,每個Image又有不同的版本(也可以當tag標籤)。
Public(公開)
最大的公開倉庫是大部分人都知道的 Docker Hub。其他的話還有紅帽
Private(私有)
使用者也可以在本地網路內建立一個私有倉庫。當使用者建立了自己的Image之後就可以使用 push 命令將它上傳到公開或者私有倉庫,這樣下次在另外一台機器上使用這個Image時候,只需要從倉庫上 pull 下來就可以了。