[TOC] 序言:眾所周知,近幾年的互聯網各項技術發展的如火如荼,敏捷開發模式越來越普及,“快”似乎成為了行業的標準,於是頹勢了十幾年的 devops理念重新被提及,CICD 也逐漸泛化。當然這些或多或少會有 docker 的影子。我想如果 沒有 docker 的橫空出世,這些實現起來似乎有些困難 ...
目錄
序言:眾所周知,近幾年的互聯網各項技術發展的如火如荼,敏捷開發模式越來越普及,“快”似乎成為了行業的標準,於是頹勢了十幾年的 devops理念重新被提及,CICD 也逐漸泛化。當然這些或多或少會有 docker 的影子。我想如果 沒有 docker 的橫空出世,這些實現起來似乎有些困難
Docker簡介
是什麼:有助於持續集成和部署的 容器虛擬化技術,運行環境和配置的標準化解決方案。
可能大家都聽過虛擬機技術,那麼虛擬機技術和容器虛擬化技術有何區別?
虛擬機技術:虛擬機是帶環境安裝的一種解決方案,它可以在操作系統裡面運行另一種操作系統。以操作系統為中心,從操作系統層下手,目標是建立一個可以用來執行整套操作系統的沙盒獨立執行環境。
缺點:資源占用較多,啟動較慢,操作步驟較為繁雜。
容器虛擬化技術:由於前面虛擬機存在這些缺點,Linux 發展出了另一種虛擬化技術:Linux 容器(Linux Containers,縮寫為 LXC)。 以應用程式為中心,隔離進程,共用操作系統內核,只需工作軟體所需庫資源的設置。
Docker組成
docker的基本組成
- 鏡像(image):Docker鏡像就是一個只讀的模板。鏡像可以用來創建Docker容器,一個鏡像可以創建很多容器。
- 容器(container):Docker 利用容器 獨立運行一個或一組應用。容器是用鏡像創建的運行實例。
- 倉庫(Repository):倉庫是集中存放鏡像文件的場所。倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。最大的公開倉庫是 Docker Hub(https://hub.docker.com/),國內的公開倉庫包括阿裡雲 、網易雲 等
docker架構圖
永遠的HelloWorld
註:預設docker已安裝,安裝教程可以百度搜索,此處不再贅述。此處的HelloWorld因為牆的原因,將採用阿裡雲鏡像加速的方式
步驟:
- 註冊一個屬於自己的阿裡雲賬戶
- 獲取阿裡雲加速器地址(免費)
- 配置本機運行Docker 運行鏡像加速器
vim /etc/sysconfig/docker,將獲得的自己賬戶下的阿裡雲加速地址配置進
other_args="--registry-mirror= https://xxxx.mirror.aliyuncs.com"
- 重啟Docker後臺服務:service docker restart
如果從結果中看到了配置的--registry-mirror參數說明配置成功
- 啟動 docker 後臺容器,測試運行 hello-world
docker run xx 命令幹了什麼?