Docker
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機(jī)器上,運(yùn)行這個(gè)容器,程序在這個(gè)容器里運(yùn)行,就好像在真實(shí)的物理機(jī)上運(yùn)行一樣。有了 Docker,就不用擔(dān)心環(huán)境問(wèn)題。
Docker 的主要用途,目前有三大類。
(1)提供一次性的環(huán)境。比如,本地測(cè)試他人的軟件、持續(xù)集成的時(shí)候提供單元測(cè)試和構(gòu)建的環(huán)境。
(2)提供彈性的云服務(wù)。因?yàn)?Docker 容器可以隨開(kāi)隨關(guān),很適合動(dòng)態(tài)擴(kuò)容和縮容。
(3)組建微服務(wù)架構(gòu)。通過(guò)多個(gè)容器,一臺(tái)機(jī)器可以跑多個(gè)服務(wù),因此在本機(jī)就可以模擬出微服務(wù)架構(gòu)。
安裝前檢查和準(zhǔn)備
Docker安裝依賴于iptables,首先確保開(kāi)發(fā)板中的iptables命令正常可用。
在使用過(guò)程中可能會(huì)碰到iptables報(bào)錯(cuò),由于docker是用iptables初始化NAT網(wǎng)絡(luò),而Debian buster使用 nftables 而不是 iptables,導(dǎo)致dockerd不能正常完成NAT初始化,出錯(cuò)退出。
處理方法是調(diào)用update-alternatives強(qiáng)制Debian用iptables而不是nftables。
# for ipv4
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
# for ipv6
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
此外開(kāi)發(fā)板可能已經(jīng)安裝有docker,所以在安裝過(guò)程中會(huì)報(bào)錯(cuò),這個(gè)時(shí)候就需要將舊版本的docker先卸載再安裝。
卸載舊版本docker命令:
sudo apt-get remove docker docker-ce docker-engine docker.io containerd runc
安裝步驟
1
安裝依賴環(huán)境
安裝docker之前需要先安裝docker所依賴的環(huán)境,這樣安裝docker的時(shí)候才不會(huì)報(bào)錯(cuò)。
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
2
添加 Docker 的官方 GPG 密鑰
在docker下載的過(guò)程中,需要使用到GPG密鑰,使用curl命令來(lái)添加GPG密鑰。
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
注意
在這個(gè)過(guò)程中可能會(huì)碰到curl報(bào)錯(cuò),需要下載curl證書(shū),
從這個(gè)地址:https://curl.se/docs/caextract.html 下載cacert.pem,再將這個(gè)文件添加至環(huán)境變量(注意路徑),就可以執(zhí)行上述命令了。
wget https://curl.se/ca/cacert.pem
export CURL_CA_BUNDLE=/root/cacert.pem
3
設(shè)置官方源
在debian中是通過(guò)源來(lái)管理軟件包的,通過(guò)如下命令可以添加官方源,以便于下載的docker和開(kāi)發(fā)板的debian版本相對(duì)應(yīng)。
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4
安裝docker-ce
通過(guò)下面命令就可以安裝docker-ce了。
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
或者出于穩(wěn)定性的要求,需要安裝特定版本的docker-ce。
首先使用命令檢查存儲(chǔ)庫(kù)內(nèi)可用的舊版本
apt-cache madison docker-ce
通過(guò)下面命令可以安裝舊版本,將修改為特定版本名,例如:5:18.09.1~3-0~debian-stretch。
sudo apt-get install docker-ce=docker-ce-cli=containerd.io docker-compose-plugin
5
安裝完成后檢查
最后使用下面命令檢查docker是否安裝成功。
docker version
當(dāng)安裝成功之后可以看到client和server兩條信息,如果沒(méi)有 Server: Docker Engine - Community信息則表示安裝失敗。
這樣,開(kāi)發(fā)板的docker就安裝成功了,接下來(lái)就可以就可以使用容器來(lái)運(yùn)行你想要的程序啦。
END
-
Docker
+關(guān)注
關(guān)注
0文章
472瀏覽量
11865
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論