Docker基礎 1 基礎知識

2021-09-29 10:46:00 字數 3631 閱讀 9155

一:docker是什麼

1,為何會有docker出現:方便**環境交付

,2,docker理念:一次封裝,到處執行

,3,一句話:解決執行環境和配置問題軟體容器,方便做持續整合並有助於整體發布的容器虛擬化技術

二:docker能幹嘛

1,之前的虛擬機器技術

虛擬機器是帶環境安裝的虛擬系統,可以在一種作業系統中執行另一種作業系統,看上去和實際系統一樣,對底層系統來說,虛擬機器就是乙個普通檔案,不需要了就刪除

缺點是虛擬機器中包含的硬體軟體都會虛擬,比較複雜,分鐘級啟動,資源占用多,冗餘步驟多,部署複雜

2,容器虛擬化技術

linux容器不是模擬乙個完整的作業系統,而是對程序進行了隔離,將軟體執行所需要的資源打包到乙個隔離的容器中,不需要**一整套作業系統,只需要軟體工作所需的庫資源和設定

(1):傳統虛擬機器技術是虛擬出一套硬體後,在其上執行一整個完整作業系統,在該系統上再執行所需應用程序

(2):容器內的應用程序是直接執行於宿主的核心,同期內沒有自己的核心,而且也沒有進行硬體虛擬,因此容器要比傳統虛擬機器更輕便

(3):每個容器互相隔離,檔案資源執行互不影響

3,開發/運維(devops)

一次構建到處執行

更快速的應用交付和部署

更便捷 的公升級和擴縮容

更簡單的系統運維

更高效的計算資源利用

4,企業級的應用

1:,官網

外網www.docker.com

中文版www.docker-cn.com

2,倉庫

docker hub官網:

四:docker 安裝

1,前提原理

centos必須6.5以上

僅支援2.6.32-431版本及以上的核心版本

檢視核心命令 uname -r

2,docker基本構成

映象(image):乙個唯讀的模板,用於建立docker例項(容器),乙個映象可以建立多個容器

容器(container):用映象建立的執行例項,可以啟動刪除等操作,可以 將其看做乙個簡易版的linux環境,幾乎和映象一樣,也是一堆層的統一視角

倉庫(repository):儲存映象的地點,倉庫和倉庫註冊伺服器(registry)是有區別的,倉庫註冊伺服器上往往存放著多個倉庫,每個倉庫中又包含了多個映象,每個映象有不同的標籤(tag)。倉庫又分為公開倉庫(public)和私有倉庫(private)兩種形式,最大的公開倉庫是docker hub,國內的公開倉庫包括阿里雲,網易雲等

五:安裝步驟

1,centos6

1:yum -y install epel-release

2:yum install -y docker-io

3:安裝後的配置檔案:/etc/sysconfig/docker

4:啟動docker後台:service docker start

5:docker version驗證:執行docker version這個命令

2,centos7(這個部落格多得很)

1:官網安裝參考手冊:

中文版手冊版本較老,建議以英文版為準

2:確定是centos7及以上版本:cat /etc/redhat-release

centos7能上外網

#yum -y install gcc

#yum -y install gcc-c++

4:解除安裝舊版本

$ sudo yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

5:安裝需要的軟體包(初次安裝需要 這個命令)

$ sudo yum-config-manager \

--add-repo \

6:設定stable映象倉庫

大坑!

$ sudo yum install -y yum-utils \

lvm2

注意!!!!其實官網沒錯,但是由於國內有防火牆,官網鏈結會 很慢 ,會導致err14,err12等錯誤 

推薦

$ sudo yum-config-manager \

--add-repo \

阿里雲**好 

7:更新yum軟體包索引

yum makecache fast

英文手冊沒有,不過還是加一下

8:安裝docker ce:yum -y install docker-ce

9:啟動docker:systemctl start docker

10:測試:docker version

11:配置映象加速

1:mkdir -p /etc/docker

2:vim /etc/docker/daemon.json

注意與centos6不同,字段內容如下:

#網易雲

#阿里雲

"registry-mirrors":[https://【自己的編碼】.mirror.aliyuncs.com]

3:systemctl daemon-reload

4:systemctl restart docker

12:解除安裝

1:systemctl stop docker

2:yum -y remove docker-ce

3:rm -f /var/lib/docker

六:helloworld

1,阿里雲映象加速

(1)是什麼

(2)註冊乙個阿里雲賬號(可用**賬號)

2,獲得加速器位址

(1) 登陸阿里雲開發者平台

(2)映象加速器目錄下可以有自己的專屬加速器位址

3,按照阿里雲所示配置,執行映象加速器

centos7安裝ce版本,

<1>:vim /etc/docker/daemon.json

將加速器鏈結整段寫入該檔案(如檔案不存在需要建立鏈結和檔案

<2>:systemctl daemon reload

<3>:systemctl restart docker

4, 網易雲加速(與阿里雲相似,但是推薦阿里雲)

5,啟動docker試執行helloworld

(1)docker run hello-world

(2)run 幹了什麼:(預設使用最新版的映象),

<1>:本機找不到這個映象(找到則以本機為準)

<3>:拉取映象

<4>:以該映象為模板生產容器並執行

6,底層原理

1,docker如何工作

docker是乙個c/s結構的系統,docker守護程序執行在主機上,然後通過 socket鏈結從客戶端訪問,守護程序從客戶端接收命令並管理執行於主機上的容器,容器是乙個執行時環境

,2,為何docker比vm快

*1*docker有更換搜啊的抽象層,由於不需要hypevisor實現硬體資源虛擬化,執行在docker容器上的程式直接使用的都是實際物理機的硬體資源,因此在cpu和記憶體等利用上優於vm

docker 1 docker基礎知識

docker是管理容器的引擎,是一種虛擬化技術,更簡單的打包技術,更簡單的部署服務 1.每台虛擬機器都需要有自己的作業系統,2.虛擬機器一旦被開啟,預分配給它的資源將全部被占用。3.每一台虛擬機器包括應用,必要的二進位制和庫,以及乙個完整的使用者作業系統。docker 1.容器技術是和我們的宿主機共...

Docker1(Docker基礎知識)

一種虛擬化方案 作業系統級別虛擬化 只能執行相同或相似核心的作業系統 依賴於linux核心特性 namespace和cgroups control group 優點 將應用程式自動部署到容器 提供簡單輕量的建模方式 職責的邏輯分離 快速高效的開發生命週期 鼓勵使用面向服務的架構 docker cli...

docker基礎知識

docker 容器引擎 cgroups namespace 服務註冊 服務發現 容器概念早就出現,之後出現docker,docker只是容器技術的一種 docker machine docker swarm docker compose docker daemon 映象 分層 ubuntu aufs...