前端也要學Docker啊!

Docker這兩年很是火熱,也是各大廠必用的好東西,這兩天沒事玩了一下感受很不錯,學起來也不難 寫下此文共勉學習。linux

關於Docker

Docker 可理解爲跑在宿主機上的很是精簡、小巧、高度濃縮的虛擬機。 它能夠將容器裏的進程安穩的在宿主機上運行。git

Docker重要的三個概念必需要知道:github

  • Image: 鏡像
  • Container: 容器
  • Repository: 鏡像倉庫

爲了好理解 咱們從 Docker 的 Logo 入手:docker

圖片描述

圖片是一條鯨魚遊在海里 身上載着N個集裝箱,下面是Docker字樣。OK 圖片描述完畢windows

圖片給出的信息:centos

  1. 海:宿主機
  2. 集裝箱:Docker容器
  3. 鯨魚+集裝箱:Docker技術
也就是說:Docker容器(集裝箱)裏能夠存放着咱們寫的代碼,而後 Docker 載着代碼在大海(宿主機)裏運行

之因此用鯨魚,多是它在海里沒什麼天敵 體型又巨大並且游泳速度很快,畢竟Docker使用GO語言寫的呢。學習

鏡像(Image)、容器(Container)、倉庫(Repository)

上文中只說了Container,而ImageContainer的關係 就像實例的關係:ui

var p1 = new Person();

即:p1是容器、Person是鏡像。 至於倉庫嘛 就至關於github的代碼倉庫,github是存代碼的倉庫,相應的 Docker 倉庫就是存放鏡像的。spa

只有理解上面的鏡像(Image)、容器(Container)、倉庫(Repository)才能破解下面的圖:code

WX20190615-102950

上圖分了三個塊:

  • Client(客戶端 命令終端)
  • DOCKER_HOST(Docker daemon)
  • Resistry(鏡像倉庫)

從左往右看,Client 中執行了幾個命令,這些命令都與 Docker daemon(Docker的守護進程) 有交互,而後 Docker daemon 會根據相應命令作對應的動做。

  1. docker build:表示建立了一個 Image,這是一條虛線 ,虛線從開始到結束指向了中間的Images框裏。
  2. docker pull:表示從倉庫中拉取 Image,就像 github 裏 pull 代碼同樣。docker daemon 接收到 pull 指令,從 Registry(遠程鏡像倉庫) 裏找到對應鏡像(這裏是Nginx) 而後拉倒本地的 Images 中。
  3. docker run:向 daemon 發出運行指令,daemon 收到指令後去本地的 Images 中找對應鏡像,若是能找到就會使用該鏡像生成一個容器,若是沒找到則會默認執行 docker pull 從倉庫裏下載,而後再生成容器,若是容器中運行着咱們的代碼,那麼當容器運行後 代碼也跟着 run 起來了

Docker安裝

Docker分社區版(Community Edition,縮寫爲 CE)和企業版(Enterprise Edition,縮寫爲 EE)
社區版是免費的,因此咱們用CE版就能夠了。
Docker CE具體安裝參考官網文檔:CentOSMacOSWindows

下載完成後 打開終端運行:docker run hello-world 成功運行則表示安裝成功了。

下篇文章《使用Docker部署NodeJs應用》會說Docker經常使用的命令及使用Docker部署NodeJs
代碼並讓它運行起來,敬請期待

接觸 Docker 時間較短,若是理解不對的地方煩請大佬給予指導,多謝啦~

相關文章
相關標籤/搜索