iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0

在接下來的文章中,我們將介紹微服務系統中一個很重要的工具Docker,相信很多人已經聽過這名詞。

Docker是一個用於開發、發佈和運行應用程序的平台。Docker將程式和基礎架構分開,讓開發者可以快速的部署程序。通過Docker可以快速的部署開發、測試和正式環境,可以大大的縮短應用程序和環境架設的周期。

Docker的架構


圖門來源

Docker基本元素

我們來了解三個組成docker的核心元赤:映像檔、容器、倉庫。

映像檔(Image)

映像檔就是一個唯讀模板,可以用來重複使用生成容器實體,是一個可獨立運作的服務。Docker提供Dockerfile的機制可以簡單建立映像檔,甚至可以從其它人那下載已經用好的映像檔來使用。

容器(Container)

容器簡單的說是用映像檔建立出來的實體。每個容器之間是相互隔離的、保證安全的平台。

倉庫(Registry)

是存放映像檔的地方。倉庫分為公開倉庫(public)和私有倉庫(private)二種。目前最大的公開倉庫Docker Hub裡面存放大量映像檔可供用戶下戴,當然使用者如果不想公開,也以建立自己的私倉來存來映像檔,需要使用再從私倉打包下來使用。

Dokcer指令

  • 映像檔指令
//列出本地所有的映像檔
docker image ls [OPTIONS] [REPOSITORY[:TAG]]

//下載映像檔(Image)
docker pull [OPTIONS] NAME[:TAG|@DIGEST]

//刪除映像檔(Image)
docker image rm [OPTIONS] IMAGE [IMAGE...]

docker image ls執行結果
https://ithelp.ithome.com.tw/upload/images/20200917/20129762y4Y2WKEYYN.png

docker pull執行結果
https://ithelp.ithome.com.tw/upload/images/20200917/20129762epml1VECjy.png

  • container執行指令
//列出本地正在運行的容器
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指令的執行結果
https://ithelp.ithome.com.tw/upload/images/20200917/20129762RyuHFjDJur.png


上一篇
Day10 用GO建立telegram bot
下一篇
Day12 Dockerfile
系列文
微服務系統建置與監控30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言