Docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux或Windows操作系統的機器上,運行這個容器,程序在這個容器里運行,就好像在真實的物理機上運行一樣。有了 Docker,就不用擔心環境問題。
Docker 的主要用途,目前有三大類。
(1)提供一次性的環境。比如,本地測試他人的軟件、持續集成的時候提供單元測試和構建的環境。
(2)提供彈性的云服務。因為 Docker 容器可以隨開隨關,很適合動態擴容和縮容。
(3)組建微服務架構。通過多個容器,一臺機器可以跑多個服務,因此在本機就可以模擬出微服務架構。
安裝前檢查和準備
Docker安裝依賴于iptables,首先確保開發板中的iptables命令正??捎谩?/p>
在使用過程中可能會碰到iptables報錯,由于docker是用iptables初始化NAT網絡,而Debian buster使用 nftables 而不是 iptables,導致dockerd不能正常完成NAT初始化,出錯退出。
處理方法是調用update-alternatives強制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
此外開發板可能已經安裝有docker,所以在安裝過程中會報錯,這個時候就需要將舊版本的docker先卸載再安裝。
卸載舊版本docker命令:
sudo apt-get remove docker docker-ce docker-engine docker.io containerd runc
安裝步驟
1
安裝依賴環境
安裝docker之前需要先安裝docker所依賴的環境,這樣安裝docker的時候才不會報錯。
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
2
添加 Docker 的官方 GPG 密鑰
在docker下載的過程中,需要使用到GPG密鑰,使用curl命令來添加GPG密鑰。
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
注意
在這個過程中可能會碰到curl報錯,需要下載curl證書,
從這個地址:https://curl.se/docs/caextract.html 下載cacert.pem,再將這個文件添加至環境變量(注意路徑),就可以執行上述命令了。
wget https://curl.se/ca/cacert.pem
export CURL_CA_BUNDLE=/root/cacert.pem
3
設置官方源
在debian中是通過源來管理軟件包的,通過如下命令可以添加官方源,以便于下載的docker和開發板的debian版本相對應。
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
通過下面命令就可以安裝docker-ce了。
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
或者出于穩定性的要求,需要安裝特定版本的docker-ce。
首先使用命令檢查存儲庫內可用的舊版本
apt-cache madison docker-ce
通過下面命令可以安裝舊版本,將修改為特定版本名,例如: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
當安裝成功之后可以看到client和server兩條信息,如果沒有 Server: Docker Engine - Community信息則表示安裝失敗。
這樣,開發板的docker就安裝成功了,接下來就可以就可以使用容器來運行你想要的程序啦。
END
-
Docker
+關注
關注
0文章
455瀏覽量
11819
發布評論請先 登錄
相關推薦
評論