Docker---初識到使用

一、剖析虛擬化技術概念docker

1)虛擬化是一個主流的技術,虛擬的,看不見的,可是能夠落地的,用於資源管理的一項技術;安全

2)虛擬化的技術誕生的目標就是爲了解決資源管理和資源利用的解決方案;bash

3)虛擬化就是將物理設備轉變爲邏輯上能夠管理資源,以打破物理之間結構的壁壘,讓計算元件運行在虛擬的基礎上,而不是真實的物理設備上;網絡

4)虛擬化的底層是要進行虛擬的物理機器,經過虛擬化技術能夠將物理機虛擬生成N個虛擬機,應用程序、軟件(Apache、MYSQL、Nginx、Redis、Tomcat)運行在虛擬機中,而不是物理機;app

5)假設公司需求,須要部署100個Nginx服務,有以下的方案:性能

  • 採購100臺低配物理機,每臺物理機部署一個Nginx服務;
  • 採購10臺高配物理機,每臺物理機虛擬10臺虛擬機(配置同低配物理機),每一個虛擬機部署一個Nginx服務;(企業推薦)

6)虛擬化技術,主要用來解決高性能的物理硬件產能過剩和老的舊的硬件產能太低的重組重用,透明化底層物理硬件,從而最大化的利用物理硬件資源。spa

 

二、Docker虛擬化技術概念操作系統

1)虛擬化技術進行分類,分爲三大類:徹底虛擬化、半虛擬化、輕量級虛擬化(Docker),虛擬化技術分層的抽象,如圖所示:3d

 

2)Docker技術的產物是Docker容器(集裝箱),容器中存放各類依賴文件、庫、應用軟件,能夠打包繁雜的庫文件、依賴程序到容器中,能夠方便遷移到其餘的平臺;code

 

 

3)傳統虛擬化技術,若是想部署Nginx服務,必須基於底層硬件-VMM-GuestOS-Nginx服務;

4)Docker虛擬化技術,若是想部署Nginx服務,必須基於底層硬件-VMM-Nginx服務;

 

三、0開始構建Docker虛擬化平臺

1)Docker官方要求Linux系統內核3.8+,對應的Linux操做系統發行版本:CentOS、Redhat、Ubuntu、Suse等;

目前,CentOS 僅發行版本中的內核支持 Docker。

Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。

Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲 2.6.32-431 或者更高版本。

Linux查看版本命令:

cat /etc/redhat-release           //查看系統版本
uname -a                          //查看內核版本
df -h                             //查看磁盤容量

2)生產環境最好使用CentOS7.x+;

3)基於CentOS6.x安裝部署Docker平臺,指令以下:

yum install epel-release docker-io lxc device-map* cgroup -y

4)基於CentOS7.x安裝部署Docker平臺,指令以下:

yum -y install docker         

檢查是否按照成功

docker version 

若輸出了 Docker 的版本號,說明安裝成功了,可經過如下命令啓動 Docker 服務:

service docker start

一旦 Docker 服務啓動完畢,就能夠開始使用 Docker 了。

 

5)docker命令

使用命令前先理解docker三組件的關係:

  docker 三組件:鏡像、容器、倉庫:

  1.鏡像
          Docker運行容器前須要本地存在對應的鏡像。
       Docker鏡像,相似ISO鏡像文件,靜止的,不能被修改,一個模板文件;
            鏡像能夠用來建立Docker容器的。一個鏡像能夠包含一個完整的操做系統環境和用戶須要的其它應用程序。在docker hub 裏面有大量現成的鏡像提供下載。docker的鏡像是隻可讀的,一個鏡像能夠建立多個容器
       2.容器
           Docker利用容器來開發、運行應用。
      Docker容器,基於Docker鏡像運行的實體,相似程序和進程的關係,進程是程序(軟件)運行的實體;
           容器是鏡像建立的實例。它能夠被啓動、開始、中止、刪除。每一個容器都是 相互隔離的、保證安全的平臺。
        3.倉庫
           倉庫是集中存放鏡像文件的場所。
           每一個 倉庫中又包含了多個鏡像,每一個鏡像有不一樣的標籤(tag)。
           最大的公開倉庫是DockerHub,存放了數量龐大的鏡像供用戶下載。國內的公開 倉庫包括DockerPool等,能夠提供大陸用戶更穩定快速的訪問。固然,用戶也能夠在本地網絡內建立一個私有倉庫。

 

 基礎命令:

docker search tutorial                    //檢索名字爲「tutorial」的鏡像

                    //從鏡像倉庫拉取鏡像到本地
docker images                            //查看已下載的鏡像docker pull medicean/vulapps:s_struts2_s2-052

docker run -d -p 8888:8080 medicean/vulapps:s_struts2_s2-052       //啓動環境

參數說明:

  • -d:讓容器在後臺運行。
  • -p:將容器內部使用的網絡端口映射到咱們使用的主機上。(如8080爲st2-052鏡像的端口,將8080映射到本地的8888端口,便可經過訪問本地ip:8888來訪問咱們搭建的鏡像環境)
docker ps           查看當前正在運行的容器
docker ps -a               docker ps -a能夠看到全部的容器,包括正在運行的和已經中止的

docker stop ed                //中止某個正着運行的容器
docker start ed                    //若是想繼續使用,用start來啓動它
docker stop ed                     //想刪除這個容器、要先中止這個容器、用stop就能夠中止
docker rm ed                       //這個用來刪除已經中止的容器
docker rmi imgesid          //刪除鏡像
docker run -t -i +鏡像id /bin/bash //啓動一個bash終端。並容許用戶進行鏈接
//-t 讓docker分配一個僞終端,並綁定到容器的標準輸入上,-i 則讓容器的標準輸入保持打

 

6)使用yum卸載docker

yum list installed | grep docker                 //列出安裝的軟件包

yum -y remove docker-engine.x86_64              //移除軟件包

rm -rf /var/lib/docker                        //刪除全部鏡像、容器和組

 

 

笨鳥先飛早入林,笨人勤學早成材。

轉載請註明出處:
撰寫人:fox-yu  http://www.cnblogs.com/fox-yu/
相關文章
相關標籤/搜索