Docker是什么?
docker是一個開源的應(yīng)用容器引擎,開發(fā)者可以打包自己的應(yīng)用到容器里面,然后遷移到其他機(jī)器的docker應(yīng)用中,可以實(shí)現(xiàn)快速部署。如果出現(xiàn)的故障,可以通過鏡像,快速恢復(fù)服務(wù)。
Docker 屬于 Linux 容器的一種封裝,提供簡單易用的容器使用接口。它是目前最流行的 Linux 容器解決方案。
而 Linux 容器是 Linux 發(fā)展出了另一種虛擬化技術(shù),簡單來講, Linux 容器不是模擬一個完整的操作系統(tǒng),而是對進(jìn)程進(jìn)行隔離,相當(dāng)于是在正常進(jìn)程的外面套了一個保護(hù)層。對于容器里面的進(jìn)程來說,它接觸到的各種資源都是虛擬的,從而實(shí)現(xiàn)與底層系統(tǒng)的隔離。
Docker 將應(yīng)用程序與該程序的依賴,打包在一個文件里面。運(yùn)行這個文件,就會生成一個虛擬容器。程序在這個虛擬容器里運(yùn)行,就好像在真實(shí)的物理機(jī)上運(yùn)行一樣。有了 Docker ,就不用擔(dān)心環(huán)境問題。
總體來說, Docker 的接口相當(dāng)簡單,用戶可以方便地創(chuàng)建和使用容器,把自己的應(yīng)用放入容器。容器還可以進(jìn)行版本管理、復(fù)制、分享、修改,就像管理普通的代碼一樣。
Docker的三個基本概念

docker1.png
- Image(鏡像): Docker 鏡像(Image),就相當(dāng)于是一個 root 文件系統(tǒng)。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統(tǒng)的 root 文件系統(tǒng)。
- Container(容器): 鏡像(Image)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計中的類和實(shí)例一樣,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時的實(shí)體。容器可以被創(chuàng)建、啟動、停止、刪除、暫停等。
- Repository(倉庫): 倉庫可看著一個代碼控制中心,用來保存鏡像。