1. 程式人生 > >Docker | 入門篇 | (二)

Docker | 入門篇 | (二)

                         --昨夜西風凋碧樹,獨上高樓,望盡天涯路

  • Docker架構

    Docker的核心元件包括:

           1.Docker客戶端:Client

2.Docker伺服器:Docker daemon

3.Docker映象:Image

4.Registry

5.Docker容器:Container

Docker架構圖如下:

Docker採用Client/Server架構。客戶端向伺服器傳送請求,伺服器負責構建、執行和分發容器。客戶端和服務端可以執行  在同一個Host上,客戶端也可以通過socket或REST API與遠端伺服器通訊。

  • Docker客戶端

常用的docker客戶端是docker命令。通過docker命令我們可以方便的在host上構建和執行容器(也可以使用REST API與伺服器通訊)

  • Docker服務端

Docker daemon是伺服器元件,以linux後臺服務的方式執行,檢視執行狀態:

Docker daemon執行在Docker host上,負責建立、執行、監控容器,構建、儲存映象。預設配置下,Docker daemon只能相應來自本地Host的客戶端請求。如果允許遠端客戶端請求,需要在配置檔案中開啟TCP監聽:

進入到/etc/systemd/system/multi-user.target.wants/docker.service, 編輯配置檔案docker.service,在環境變數ExecStart後面新增 -H tcp://0.0.0.0,允許來自任意IP的客戶端連線:

重啟Docker dameon:

通過-H加伺服器ip地址可與遠端伺服器通訊(info用於檢視Docker伺服器的資訊):

  • Docker映象

Docker映象可以看作是隻讀模板,通過映象來建立Docker容器。

映象的生成方法有很多種:

  1.從零開始直接建立一個映象

  2.下載建立好的映象

  3.在現有映象的基礎上建立映象

  • Docker容器

Docker容器是Docker映象執行的例項。

使用者可以通過CLI(Docker)或者API啟動、停止、移動或者刪除容器(對於應用軟體,映象是軟體生命週期的構建和打包階段,容器則是啟動和執行階段)。

  • Registry

Registry是存放Docker映象的倉庫,Registry分為私有和公有兩種。

Docker Hub是預設的Registry,由Docker公司維護,上面存放數以萬計的映象,使用者可以自由下載和使用

出於安全使用者也可以構建自己的私有倉庫

執行一個httpd容器:

docker run表示執行一個容器,-d引數表示後臺執行, -p引數表示對映容器的80埠到主機的80埠,httpd是映象名稱

如果映象在本地不存在,如果映象在本地不存在,Docker daemon會先從Docker Hub下在映象,再執行(也可以先docker pull 映象 再通過docker run執行映象)

docker images檢視映象已經下載到本地:

docker ps或者docker container ls顯示正在執行的容器: