day01-20200710linux
p1.基礎知識git
鯨魚背上有一些集裝箱docker
學習docker得基礎知識centos
1.強制:熟悉Linux命令和相關背景知識
2.建議有maven和git的相關知識bash
docker和雲計算有着不可分隔的關係。運維
docker的工做方向
JavaEE開發~
dockers開發~
dockers與Jenkins的整合持續集成和持續構建~curl
p2.爲何會出現dockermaven
按照傳統的發佈工做來講,
開發提供代碼或者war包(開發本機一切都是能夠的),給運維。ide
運維開始部署,常常會出現運維部署失敗,開發本機確是好的。學習
爲何開發時好的?運維倒是很差的?
緣由在於:環境和配置
所以docker就產生了:開發給運維的再也不是代碼而是一個徹底成功得總體(包含代碼、配置、系統、數據等)給運維,運維就只須要直接部署這個總體就行了。軟件帶環境安裝。運維只須要安裝一個「全家桶」就行了。
部署的時候常常會遇到各類集羣環境,假設須要10臺集羣,每一臺都分開安裝那運維須要的工程就很是大了。良好的於寧環境打包成一個鏡像。
之前代碼即應用,如今是由下到上打包成一個鏡像,完整的一個環境。docker一次構建、一次封裝到處運行。
p3.docker理念
docker是基於go語言開發的
docker是經過對應用組件的封裝、分發、部署、運行等生命週期的管理,使應用及其運行環境可以作到「一次封裝,處處運行」。
p4.docker是什麼
解決了運行環境和配置文件軟件容器,方便作持續集成並有助於總體發佈的容器虛擬化技術。
容器?總體發佈?虛擬化?
p5.docker能夠作什麼
docker和虛擬機有什麼區別
(1)虛擬機就是帶環境安裝的一種解決方案,對於Windows來講就是一個軟件。虛擬機硬件軟件都有。完整的操做系統。
虛擬機的啓動時間是分鐘級,而docker是秒級。
虛擬機啓動步驟多,啓動慢。
docker是在虛擬機的基礎上發展出了另外一種虛擬化技術:Linux容器 Linux containers
docker不是一個完整的操做系統,而是對進程進行隔離。有了容器,就能夠將軟件運行所需的全部資源打包到一個隔離的容器中。
容器與虛擬機不一樣,不須要捆綁一整套操做系統,只須要軟件工做所需的庫資源和設置。系統所以而變得高效輕量並保證檗屬下任何環境中的軟件都能始終如一的運行。
(2)容器內的應用是直接運行宿主機的內核,容器沒有本身的內核,並且也麼有硬件虛擬,容器要比傳統的虛擬機輕便。
docker是縮小版、精細版、濃縮版的Linux系統。輕便、快速。centos鏡像只要170m,而一個虛擬機的系統須要好幾個g,對比下就更加輕量級。
開發本身運維(devops):一次構建、隨處運行
好處:
更快速的應用交付和部署
更邊界的升級和擴容
更簡單的系統運維
更高效的計算資源利用
官網docker-cn.com
鏡像、容器、倉庫
docker-hub和git-hub 提交的是對應的鏡像和代碼倉庫。docker-hub咱們通常用不到。
p6.docker三要素
docker必須在centos6.5以上才能夠。【uname -r】【cat /etc/redhat-】
鏡像:模板,能夠建立一個或者多個實例,鏡像就是Java類
容器:鏡像的實例,就是Java對象,縮減版的linux環境
倉庫:集中存放鏡像的地方。有公開庫就是docker hub和私有庫(國內公開的有阿里雲和網易雲)。
docker自己是一個容器運行載體或者稱之爲管理引擎,應用程序和配置依賴打包成一個可交付的運行環境,這個打包好的運行環境就是image鏡像文件,經過文件建立docker容器。image是容器的模板,docker根據image生成容器的實例。同一個鏡像能夠生成多個容器實例。
p7.docker安裝
centos6.8安裝
【yum -y install epel-relaese】安裝epel倉庫
【yum -y install docker-io】
安裝後的配置文件:/etc/sysconfig/docker
啓動docker後臺服務:service docker start
docker version驗證
centos7安裝
能夠經過參考官網安裝
docker有社區版(ce)和企業版
官方安裝腳本自動安裝
【curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun】
啓動服務
【systemctl start docker】
【systemctl status docker】
查看版本
【docker version】
安裝成功!~