干貨 | 應(yīng)用打包還是測(cè)試團(tuán)隊(duì)老大難問題?
Docker是一個(gè)開源的應(yīng)用容器引擎,基于 Go 語(yǔ)言開發(fā),Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的系統(tǒng)。 Docker 是世界領(lǐng)先的軟件容器平臺(tái),Docker 官方的口號(hào)是”調(diào)試你的應(yīng)用,而不是調(diào)試環(huán)境“。在進(jìn)行多人協(xié)作開發(fā)時(shí),開發(fā)者可以使用 Docker 來消除所謂“我這里運(yùn)行是好的”(works on my machine)問題,運(yùn)維人員使用 Docker 來并行的運(yùn)行和管理應(yīng)用來獲得更優(yōu)計(jì)算密度,基于各自獨(dú)立的容器,不會(huì)因?yàn)榄h(huán)境原因?qū)е聭?yīng)用運(yùn)行錯(cuò)誤。 如下圖所示:在工作當(dāng)中,如果我們面對(duì)這樣多的服務(wù)、多個(gè)服務(wù)器,以及多種環(huán)境,我們應(yīng)該如何處理呢?如果還繼續(xù)用傳統(tǒng)的方式打包部署,我們會(huì)浪費(fèi)多少時(shí)間?
所以在 Docker 橫空出世之前,應(yīng)用打包一直是大部分研發(fā)團(tuán)隊(duì)的痛點(diǎn),在 Docker 出現(xiàn)后,它以更高效的利用系統(tǒng)資源、更快速的啟動(dòng)時(shí)間、一致的運(yùn)行環(huán)境、持續(xù)交付和部署、更輕松的遷移、更輕松的維護(hù)和拓展,6大優(yōu)點(diǎn)迅速火了起來。 Docker 的三個(gè)概念:
鏡像(Image):是一個(gè)包含有文件系統(tǒng)的面向Docker引擎的只讀模板。任何應(yīng)用程序運(yùn)行都需要環(huán)境,而鏡像就是用來提供這種運(yùn)行環(huán)境的。例如一個(gè) Ubuntu 鏡像就是一個(gè)包含 Ubuntu 操作系統(tǒng)環(huán)境的模板。
容器(Container):類似于一個(gè)輕量級(jí)的沙盒,可以將其看作一個(gè)極簡(jiǎn)的 Linux 系統(tǒng)環(huán)境(包括 root 權(quán)限、進(jìn)程空間、用戶空間和網(wǎng)絡(luò)空間等),以及運(yùn)行在其中的應(yīng)用程序。Docker 引擎利用容器來運(yùn)行、隔離各個(gè)應(yīng)用。容器是鏡像創(chuàng)建的應(yīng)用實(shí)例,可以創(chuàng)建、啟動(dòng)、停止、刪除容器,各個(gè)容器之間是是相互隔離的,互不影響。注意:鏡像本身是只讀的,容器從鏡像啟動(dòng)時(shí),Docker 在鏡像的上層創(chuàng)建一個(gè)可寫層,鏡像本身不變。
倉(cāng)庫(kù)(Repository):鏡像倉(cāng)庫(kù),是 Docker 用來集中存放鏡像文件的地方。
Docker 是開源的商業(yè)產(chǎn)品,有兩種版本:社區(qū)版(Community Edition,縮寫為 CE)和企業(yè)版(Enterprise Edition,縮寫為 EE)。企業(yè)版包含了一些收費(fèi)服務(wù),一般用不到。我們下面將會(huì)演示 Docker CE版本的使用方法。 Docker 支持很多操作系統(tǒng)平臺(tái),有大家常用的 Microsoft Windows 系列操作系統(tǒng)(Docker 不支持 Windows 10 家庭版系統(tǒng)),Linux 發(fā)行版和 macOS 系統(tǒng)。
Windows 上有兩種安裝 Docker 方式:
? 第一種:訪問 Docker 網(wǎng)站下載 Docker Desktop軟件的 exe 文件,下載地址:?https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe?? 第二種:使用 Chocolatey 包管理工具安裝 Docker。(包管理工具需自行下載安裝) choco install docker-for-windows
切換到管理員權(quán)限
su root
安裝必要的一些系統(tǒng)工具
apt-get update
apt-get -y install apt-transport-https ca-certificates curl
software-properties-common
3.安裝 GPG 證書
curl -fsSL
http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg
| sudo apt-key add -
4.寫入軟件源信息
add-apt-repository "deb [arch=amd64]
http://mirrors.aliyun.com/docker-ce/linux/ubuntu
$(lsb_release -cs) stable"
5.更新并安裝 Docker-CE
apt-get -y update
apt-get -y install docker-ce
1.切換到管理員權(quán)限
su root
2.安裝必要的一些系統(tǒng)工具
yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加軟件源信息
yum-config-manager --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.更新并安裝 Docker-CE
yum makecache fast
yum -y install docker-ce
? 第一種:訪問 Docker 網(wǎng)站下載 Docker Desktop 的 dmg 安裝包,下載地址:https://download.docker.com/mac/stable/Docker.dmg?? 第二種:使用包管理工具方式來安裝 Docker,使用Homebrew工具安裝 Docker。(包管理工具需自行下載安裝)
brew cask install docker
啟動(dòng) Docker
systemctl start docker
重新啟動(dòng) Docker
systemctl restart docker
開機(jī)時(shí)自動(dòng)啟動(dòng) Docker
systemctl enable docker
查看 Docker 運(yùn)行狀態(tài)
systemctl status docker