Docker 簡介
- Docker 是一個開源的容器引擎,可將應(yīng)用程序和基礎(chǔ)設(shè)施隔離廉羔,并能將基礎(chǔ)設(shè)施當(dāng)做程序一樣進(jìn)行管理瞄勾,使用 Docker 可以更快的打包、測試以及部署應(yīng)用程序辛掠,甚至可以再 Docker 中運(yùn)行一個 Linux 系統(tǒng)鏡像谢谦,它就像一個仿真操作系統(tǒng)
- Docker 適用場景:
- 測試:Docker 很適用于測試發(fā)布,將 Docker 封裝后可以直接給測試人員運(yùn)行萝衩,不在需要測試人員與運(yùn)維回挽、開發(fā)進(jìn)行配合部署
- 開發(fā):開發(fā)人員共用一個 Docker 鏡像,同時修改的源代碼都被掛載到本地磁盤猩谊,不再因為環(huán)境的不同而傷腦筋
- 云服務(wù):Docker 支持命令行封裝與編程千劈,通過自動加載與服務(wù)自發(fā)現(xiàn),可以很方便的將封裝于 Docker 鏡像中的服務(wù)拓展成云服務(wù)牌捷,根據(jù)業(yè)務(wù)請求隨時增加和減少容器運(yùn)行數(shù)量
- Docker 的優(yōu)點:
- 快速搭建兼容性測試環(huán)境:可以快速的利用基礎(chǔ) Docker 鏡像創(chuàng)建各類容器墙牌,裝載相應(yīng)技術(shù)組件并快速啟動運(yùn)行涡驮,省去環(huán)境搭建時間
- 快速搭建復(fù)雜分布式測試環(huán)境:Docker 可以在一臺機(jī)器上輕松搭建出成百上千個分布式節(jié)點的容器環(huán)境,從而模擬以前需要消耗大量時間和機(jī)器資源才能搭建出的分布式復(fù)雜測試環(huán)境
- 持續(xù)集成:Docker 可以快速創(chuàng)建和插銷容器喜滨,在持續(xù)繼承的環(huán)境中捉捅,可以頻繁和快速地進(jìn)行部署和驗證工作
Docker 架構(gòu)
- Docker daemon(Docker 守護(hù)進(jìn)程):運(yùn)行于主機(jī)上,處理服務(wù)請求
- Client(Docker 客戶端):用戶界面虽风,通過它與 Docker Daemon 通信
- Images(Docker 鏡像):鏡像是 Docker 運(yùn)行容器的前提棒口,提供容器運(yùn)行時所需的程序、庫辜膝、資源无牵、配置文件與配置參數(shù)等。它就像操作系統(tǒng)光盤鏡像内舟,可通過鏡像來安裝系統(tǒng)(容器)
- Container(容器):容器是鏡像的可運(yùn)行實例合敦,鏡像和容器的關(guān)系類似于類和對象的關(guān)系,可通過 Docker API 或者 CLI 命令來啟動验游、移除容器
- Registry:是一個集中存儲與分發(fā)鏡像的服務(wù)充岛,類似 Maven 中央倉庫
v3rm9.png
安裝 Docker
- 系統(tǒng)環(huán)境:CentOS7 64 位
- 更新 yum
sudo yum update
- 添加 Docker 的 yum 源
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
- 安裝最新版本 Docker
sudo yum -y install docker-engine
- 設(shè)置 Docker 服務(wù)自動啟動
sudo systemctl enable docker.service
- 啟動 Docker 服務(wù)
sudo systemctl start docker.service
- 測試安裝是否正確
sudo docker run hello-world
卸載 Docker
- 卸載 Dcoker 軟件包
sudo yum -y remove docker-engine
- 如需刪除鏡像、容器耕蝉、卷以及自定義的配置文件可執(zhí)行
sudo rm -rf /var/lib/docker
配置鏡像加速
- 國內(nèi) Docker Hub 速度很不穩(wěn)定崔梗,常常出現(xiàn)連接不上的情況,可使用鏡像加速服務(wù)垒在,如阿里云鏡像加速服務(wù)
- 注冊阿里云賬號蒜魄,即可在阿里云控制臺根據(jù)說明操作配置
v5gwe.png