在接下來的文章中,我們將介紹微服務系統中一個很重要的工具Docker
,相信很多人已經聽過這名詞。
Docker是一個用於開發、發佈和運行應用程序的平台。Docker將程式和基礎架構分開,讓開發者可以快速的部署程序。通過Docker可以快速的部署開發、測試和正式環境,可以大大的縮短應用程序和環境架設的周期。
我們來了解三個組成docker的核心元赤:映像檔、容器、倉庫。
映像檔就是一個唯讀模板,可以用來重複使用生成容器實體,是一個可獨立運作的服務。Docker提供Dockerfile的機制可以簡單建立映像檔,甚至可以從其它人那下載已經用好的映像檔來使用。
容器簡單的說是用映像檔建立出來的實體。每個容器之間是相互隔離的、保證安全的平台。
是存放映像檔的地方。倉庫分為公開倉庫(public)和私有倉庫(private)二種。目前最大的公開倉庫Docker Hub裡面存放大量映像檔可供用戶下戴,當然使用者如果不想公開,也以建立自己的私倉來存來映像檔,需要使用再從私倉打包下來使用。
//列出本地所有的映像檔
docker image ls [OPTIONS] [REPOSITORY[:TAG]]
//下載映像檔(Image)
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
//刪除映像檔(Image)
docker image rm [OPTIONS] IMAGE [IMAGE...]
docker image ls
執行結果
docker pull
執行結果
//列出本地正在運行的容器
docker container ls [OPTIONS]
//啟動容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d : 背景執行
-h : 自訂 host name
-i : 進入互動模式
-p : 設定要對外開啟的 port 號 mapping
-u : 設定 username
— name : 自訂 docker container 的名稱
-v : 設定從外部掛載資源到 container 中。
//進入到容器中
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-i : 交互模式
-t : 開啟偽終端
//暫停容器
docker container stop [OPTIONS] CONTAINER [CONTAINER...]
//刪除容器
docker container rm [OPTIONS] CONTAINER [CONTAINER...]
下圖為container指令的執行結果