容器技术之二.Docker的安装和常见问题
生活随笔
收集整理的這篇文章主要介紹了
容器技术之二.Docker的安装和常见问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Docker的安裝要求
Docker支持在多種平臺上使用,包括Mac、Windows、Cloud以及Linux系統上等。由于Docker是基于Ubuntu發布的,所以官方更推薦在Ubuntu上使用Docker,開發者也可以根據自己的實際開發環境選擇合適的開發平臺。
Docker的安裝并非想象中那么隨意,在不同的平臺上安裝Docker必須滿足不同的先決條件。由于本書選擇在Ubuntu16.04版本上使用Docker,因此這里只針對Ubuntu系統上的Docker安裝要求進行說明。
根據Docker官網上的安裝說明,想要在Ubuntu上安裝Docker需要滿足兩點要求,一是Ubuntu的版本支持,二是Ubuntu的內核支持,具體如下。
● Ubuntu Trusty 14.04 (LTS)
● Ubuntu Xenial 16.04 (LTS)
● Ubuntu Zesty 17.04
● 其他更高的版本
2.Ubuntu的內核支持
Docker需要在64位版本的Ubuntu上安裝。此外,還需要保證Ubuntu的內核版本不低于3.10(可以通過uname -r命令查看),其中3.10版本和更新維護版也是可以使用的,在低于3.10版本的內核上運行Docker會丟失一部分功能。
小提示:
上述版本和內核要求是對Docker全面支持的,也有一些開發者的版本或者系統無法滿足條件,可以參考網上一些方法進行額外配置,達到滿足Docker使用的需求,當然這種方法是不推薦的。
在線安裝
由于在線安裝方式比較容易,且后期升級維護相對方便,所以對于大多數開發者而言,通常會選擇在線安裝Docker。這種安裝方式需要先設置一個Docker倉庫,然后通過該倉庫進行安裝和后續更新。
在線安裝方式的具體實現步驟如下。
1.設置Docker倉庫
在新的主機上初次安裝Docker CE之前,必須先設置Docker存儲庫,其步驟如下。
(1)更新apt的索引包
$ sudo apt-get update
需要注意的是,在執行apt更新完成后,終端可能會返回如“Problem executing scripts APT::Update::Post-Invoke-Success ‘if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi’”的子流程錯誤信息,這個錯誤是在Ubuntu16.04系統下更新apt時內部出現的問題,并不影響后續Docker的安裝和使用,所以這個問題可以直接忽略。
(2)安裝軟件包允許apt通過HTTPS方式使用Docker倉庫
$ sudo apt-get install
apt-transport-https
ca-certificates
curl
software-properties-common
(3)添加Docker官網的GPG key
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
(4)添加Docker穩定的倉庫源(根據Ubuntu鏡像版本的不同進行選擇安裝)
amd64:
$ sudo add-apt-repository
“deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable”
armhf:
$ sudo add-apt-repository
“deb [arch=armhf] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable”
s390x:
$ sudo add-apt-repository
“deb [arch=s390x] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable”
2.安裝Docker CE
設置好Docker倉庫之后,就可以從存儲庫中安裝和更新Docker,其實現步驟如下。
(1)更新apt的索引包
$ sudo apt-get update
(2)安裝不同版本的Docker
在安裝Docker時,通常會根據個人情況選擇安裝不同的版本。為此,Docker提供了兩種安裝方式,一是安裝默認的最新版本的Docker,二是安裝指定版本的Docker,具體如下。
● 安裝最新版本的Docker,具體指令如下。
$ sudo apt-get install docker-ce
需要注意的是,執行上述指令后,之前存在的任何版本的Docker都會被替換。
● 安裝指定版本的Docker,具體指令如下。
$ sudo apt-get install docker-ce=
從上述指令可以看出,安裝指定版本的Docker時,需要通過“=”將版本字符串附加到安裝包后。
為了更好的選擇指定版本的Docker,可以使用apt-cache madison指令查看Docker倉庫中的Docker版本信息,具體指令如下。
$ apt-cache madison docker-ce
執行上述指令后,就會顯示出當前Docker倉庫提供的在線的Docker的版本信息,具體效果如圖1所示。
圖1 Docker版本信息
圖1列表中的內容依賴于啟用的存儲庫,其中第二列是版本字符串,第三列是存儲庫名稱,用于指示安裝包來自哪個存儲庫。
(3)安裝完成后,可以使用sudo docker run hello-world指令運行測試,具體指令如下。
$ sudo docker run hello-world
? 執行完上述指令后,Docker主機終端顯示的結果信息如圖2所示。
離線安裝
在沒有網絡或者網絡條件較差的情況下,我們可以選擇離線安裝Docker(使用DEB格式的安裝文件)。這種安裝方式的好處是不依賴于網絡,但其缺點是后期使用時需要手動升級和維護,并且每次升級時都需要下載一個新的.deb文件。
離線安裝方式的具體實現步驟如下。
通過官方提供的地址https://download.docker.com/linux/ubuntu/dists/,下載安裝Docker的.deb文件,訪問該地址后的效果如圖1所示。
圖1 Docker離線安裝文件地址
在圖1中,需要選擇自己機器所對應的Ubuntu版本。由于本書使用的是Ubuntu Xenial 16.04 (LTS)版本,所以要單擊圖中的xenial鏈接并進入到pool/stable/目錄下,然后根據情況選擇amd64、armhf或者s390x版本的.deb文件,如圖2所示。
圖2 Docker離線安裝文件下載目錄
通過下載的.deb文件進行Docker離線安裝非常簡單,只需要在Ubuntu系統的終端中執行如下指令。
$ sudo dpkg -i /path/to/package.deb
需要注意的是,使用sudo dpkg –i指令安裝Docker時,一定要指定讀者下載的.deb文件所在地址,例如上面指令表示執行/path/to/路徑下的package.deb文件。
腳本文件安裝
在開發和測試環境下,我們還可以使用Docker官方提供的自動化腳本文件來安裝Docker,其中開發環境和測試環境下的腳本文件下載地址分別為https://get.docker.com/和https://test.docker.com/。
需要注意的是,這種安裝方式是針對某些特定環境提供的,雖然使用此種方式可以快速的在非交互式的開發環境中安裝穩定開發版本和測試版本的Docker CE,但是在實際環境下不推薦使用腳本文件來安裝Docker,所以這里對于腳本文件的Docker安裝就不做具體介紹了,有興趣的讀者可以查看官網介紹,具體參考地址為https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-using-the-convenience-script。
Docker的開機啟動和添加當前用戶可執行權限
在Docker安裝完成后,開發者可以根據實際需求進行其他一些相關設置,例如Docker開機啟動、當前用戶可執行Docker等,具體設置方式如下。
(1)配置Docker開機啟動
$ sudo systemctl enable docker
(2)配置當前用戶執行Docker權限(username是自己的用戶名)
$ sudo usermod -aG docker username
完成上述配置后,需要重啟Ubuntu系統來查看效果。
安裝時的問題及解決方法
通常情況下,嚴格按照前面幾個小節的安裝要求和方式進行Docker的安裝,基本就可以正常完成Docker的安裝,但在某些特殊情況下,安裝過程可能會出現一些問題或者錯誤,本小節將對容易出現的幾個問題給出解決方法。
Docker的在線安裝方式需要連接外網,所以對網速有一定的要求。在某些限網環境或者用網密集的情況下,很容易出現網速過慢、中斷連接的情況,如圖1所示。
圖1 Docker安裝連接中斷
從圖1可以看出,在安裝時出現了網絡連接速度過慢導致了下載安裝失敗的問題。
針對這種網速過慢的情況,建議開發者在網絡暢通的情況下重新下載安裝,或者使用他人提供的.deb文件進行離線安裝,當然也可以通過國內其他平臺提供的Docker源進行下載安裝。
Docker執行更新apt索引包并進行安裝的過程中,可能會顯示無法獲取鎖等異常情況,如圖2所示。
圖2 Docker更新資源失敗
出現圖2中問題的原因可能是由于另外一個程序(上次運行安裝或更新沒有正常完成)正在使用該程序,從而導致資源被鎖不可用。
這種問題解決的辦法其實很簡單,只需要在系統終端執行以下兩條指令即可。
$ sudo rm /var/cache/apt/archives/lock
$ sudo rm /var/lib/dpkg/lock
總結
以上是生活随笔為你收集整理的容器技术之二.Docker的安装和常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker的概述
- 下一篇: Docker的运行机制