干貨 | 一文搞定 Docker 容器技術與常用命令

Docker 是一個開源的應用容器引擎,基于 Go 語言開發(fā),Docker 可以讓開發(fā)者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的系統(tǒng)。
Docker 是世界領先的軟件容器平臺,Docker 官方的口號是”調(diào)試你的應用,而不是調(diào)試環(huán)境“。在進行多人協(xié)作開發(fā)時,開發(fā)者可以使用 Docker 來消除所謂“我這里運行是好的”(works on my machine)問題,運維人員使用 Docker 來并行的運行和管理應用來獲得更優(yōu)計算密度,基于各自獨立的容器,不會因為環(huán)境原因?qū)е聭眠\行錯誤。
如下圖所示,在工作當中,如果我們面對這樣多的服務、多個服務器,以及多種環(huán)境,我們應該如何處理呢?如果還繼續(xù)用傳統(tǒng)的方式打包部署,我們會浪費多少時間?

所以在 Docker 橫空出世之前,應用打包一直是大部分研發(fā)團隊的痛點,在 Docker 出現(xiàn)后,它以更高效的利用系統(tǒng)資源、更高效的利用系統(tǒng)資源、一致的運行環(huán)境、持續(xù)交付和部署、更輕松的遷移、更輕松的維護和拓展,6大優(yōu)點迅速火了起來。
鏡像(Image) 是一個包含有文件系統(tǒng)的面向 Docker 引擎的只讀模板。任何應用程序運行都需要環(huán)境,而鏡像就是用來提供這種運行環(huán)境的。例如一個 Ubuntu 鏡像就是一個包含 Ubuntu 操作系統(tǒng)環(huán)境的模板。
容器(Container) 類似于一個輕量級的沙盒,可以將其看作一個極簡的 Linux 系統(tǒng)環(huán)境(包括 root 權限、進程空間、用戶空間和網(wǎng)絡空間等),以及運行在其中的應用程序。Docker 引擎利用容器來運行、隔離各個應用。 容器是鏡像創(chuàng)建的應用實例,可以創(chuàng)建、啟動、停止、刪除容器,各個容器之間是是相互隔離的,互不影響。 注意:鏡像本身是只讀的,容器從鏡像啟動時,Docker 在鏡像的上層創(chuàng)建一個可寫層,鏡像本身不變。
倉庫(Repository) 鏡像倉庫,是 Docker 用來集中存放鏡像文件的地方。 Docker 是開源的商業(yè)產(chǎn)品,有兩種版本:社區(qū)版(Community Edition,縮寫為 CE)和企業(yè)版(Enterprise Edition,縮寫為 EE)。企業(yè)版包含了一些收費服務,一般用不到。我們下面將會演示 Docker CE 版本的使用方法。 Docker 支持很多操作系統(tǒng)平臺,有大家常用的 Microsoft Windows 系列操作系統(tǒng)(Docker 不支持 Windows 10 家庭版系統(tǒng)),Linux 發(fā)行版和 MacOS 系統(tǒng)。
Windows 系統(tǒng)安裝方法 Windows 上有兩種安裝 Docker 方式: 第一種:訪問 Docker 網(wǎng)站下載 Docker Desktop 軟件的 exe 文件,下載地址:https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe?第二種:使用 Chocolatey 包管理工具安裝 Docker。(包管理工具需自行下載安裝)
Linux 發(fā)行版 Ubuntu 系統(tǒng)安裝方法 1.切換到管理員權限 2.安裝必要的一些系統(tǒng)工具 3.安裝 GPG 證書 4.寫入軟件源信息 5.更新并安裝 Docker-CE
Linux 發(fā)行版 CentOS 系統(tǒng)安裝方法 1.切換到管理員權限 2.安裝必要的一些系統(tǒng)工具 3.添加軟件源信息 4.更新并安裝 Docker-CE
macOS 操作系統(tǒng)安裝 Docker 方法 macOS 上有兩種安裝 Docker 方式: 第一種:訪問 Docker 網(wǎng)站下載 Docker Desktop 的 dmg 安裝包,下載地址:https://download.docker.com/mac/stable/Docker.dmg?第二種:使用包管理工具方式來安裝 Docker,使用 Homebrew 工具安裝 Docker。(包管理工具需自行下載安裝)
啟動 Docker
重新啟動 Docker
開機時自動啟動 Docker


查看所有鏡像
REPOSITORY:鏡像來自哪個倉庫
TAG:鏡像的標簽信息,版本之類的信息
IMAGE ID:鏡像創(chuàng)建時的id
CREATED:鏡像創(chuàng)建的時間
SIZE:鏡像文件大小
下載軟件鏡像
導出鏡像
刪除鏡像
導入鏡像
更改鏡像名
運行容器
查看運行的容器
查看所有容器
啟動容器
重新啟動容器
停止容器
殺死容器
刪除運行中的容器
執(zhí)行容器內(nèi)命令
復制容器內(nèi)文件
查看容器日志
思寒漫談測試人職業(yè)發(fā)展
干貨 | 資深測試專家(前阿里P8)聊測試人職業(yè)發(fā)展常見瓶頸