Docker的部署安裝
通常情況下,容器化部署應用,便於運維管理,也節省了成本
一、什麼是docker
docker可以理解成輕量級的虛擬化。與虛擬機器不同的,docker這樣的叫容器技術,佔用的空間更小,啟動更快,因為它只需要虛擬一個小規模的環境,不需要虛擬出整個作業系統。這個思想來自於集裝箱:一艘大船上有很多集裝箱,每個集裝箱之間是互不干涉的,這艘大船就是物理機環境,虛擬機器的話有點像在大船上又放置了很多小船,然後在小船上再放置貨物,實際上我們只是用來裝置貨物的話就不需要小船,就是說我們只需要一個可以裝置貨物的容器就可以了,而需要不同的集裝箱是因為我們的貨物種類不同,對於儲存的條件要求也會不同,容器技術就是花費更少的開銷提供應用專屬的環境。
二、核心的概念
-
映象(image)
還是用集裝箱的例子來說明,映象就類似於集裝箱的圖紙,只要用圖紙就可以在任何地方生產出一樣的集裝箱,而不需要把一個集裝箱實體從一個地方搬移到另一個地方。 -
容器(container)
用同一個圖紙造出來的集裝箱是一樣的,但是不同的貨物又有自己的儲存條件,那麼在同樣的集裝箱的基礎上,我們可以按照自己的要求部署不一樣的環境,最後形成適合自己貨物的集裝箱環境,這個就是一個容器。 -
倉庫(repository)
用於生產集裝箱的圖紙也不僅僅只有一張,我們可以分一些大類實現準備多個圖紙,而這些圖紙放在一起供給大家互相使用,存放這些圖紙的地方就叫做倉庫。顯然供企業自己內部特有使用的可以稱為私庫,包含更多基礎圖紙的是一個大的公共倉庫,這裡面的映象也是需要管理的,因為並不是所有人建立的映象都是合格的,目前最常使用的registry公開服務是官方的
三、CentOS7下安裝docker
docker的安裝與使用可以參考官方的文件說明,這裡主要介紹用yum的方式在CentOS7下安裝docker程式。
-
解除安裝舊版本(如果有)
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
-
安裝依賴
yum install -y yum-utils device-mapper-persistent-data lvm2
-
新增docker源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
安裝最新版本
yum install docker-ce docker-ce-cli containerd.io
[NOTE]
檢視版本,按需選擇安裝:yum list docker-ce --showduplicates | sort -r
-
啟動服務
systemctl enable docker
systemctl start docker
-
設定國內映象加速器
建立或修改/etc/docker/daemon.json{ "registry-mirrors": ["https://4qxi99au.mirror.aliyuncs.com"] }
-
建立docker使用者
useradd docker -G docker
#加入docker組才能執行docker命令的許可權