Ubuntu 環境下安裝 Docker
1.系統要求
Docker目前只能運行在64位平台上,並且要求內核版本不低於3.10,實際上內核越新越好,過低的內核版本容易造成功能不穩定。
用戶可以通過如下命令檢查自己的內核版本詳細信息:
$ uname -a Linux ubuntu 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
或
$ cat /proc/version Linux version 4.4.0-131-generic (buildd@lgw01-amd64-015) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018
Docker目前支持的最低Ubuntu版本為:14.04 LTS,但實際上從穩定性上考慮,推薦至少使用16.04 LTS版本。
注意:
Ubuntu發行版中,LTS(Long-Term-Support)意味着更穩定的功能和更長期(目前為5年)的升級支持,生產環境中盡量使用LTS版本。
如果使用Ubuntu 16.04 LTS 版本,為了讓Docker使用aufs存儲,推薦安裝如下兩個軟件包:
$ sudo apt-get update $ sudo apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
如果出現如下異常:
Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package linux-image-extra-4.4.0-185-generic E: Couldn't find any package by glob 'linux-image-extra-4.4.0-185-generic' E: Couldn't find any package by regex 'linux-image-extra-4.4.0-185-generic'
解決方案:
linux-image-generic 應該已經安裝了相關的 linux-image-extra 包,但名稱已更改為 linux-modules-extra 。試試這個升級到最新的內核:
$ sudo apt update $ sudo apt upgrade $ sudo apt install --reinstall linux-image-generic
然後,重新啟動並嘗試使用以下命令:
$ sudo apt install linux-modules-extra-$(uname -r) linux-image-extra-virtual
2.添加鏡像源
首先需要安裝 apt-transport-https 包支持HTTPS協議的源:
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加源的gpg密鑰:
$ curl -fsSL //download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
設置穩定版倉庫:
$ sudo add-apt-repository "deb [arch=amd64] //download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
添加成功後,更新apt軟件包緩存:
$ sudo apt-get update
3.安裝Docker CE和containerd
$ apt-get install docker-ce docker-ce-cli containerd.io
由於網絡原因,安裝過程可能會失敗,重新執行安裝命令即可。該方式安裝的為最新版的Docker CE和containerd。
查看docker版本:
$ docker --version
Docker version 20.10.2, build 2291f61
檢查Docker CE是否安裝正確:
$ sudo docker run hello-world
出現如下信息,表示安裝成功:
4.讓普通用戶使用Docker
要解決這個問題,必須抓住LInux的權限管理:要把當前的用戶添加到docker group.
$ sudo usermod -a -G docker $USER //將當前用戶添加到docker組中 $ newgrp docker #更新用戶組 # 退出並重新登錄後,組信息才會生效 $ docker ps #測試docker命令是否可以使用sudo正常使用
notes:
-a :在-G存在的情況下,增加次要用戶組的支持,不是修改當前用戶組
-G :修改當前次要組
-G -a :是增加新的次要組
5.卸載Docker
卸載Docker Engine,CLI和Containerd軟件包:
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io
主機上的映像,容器,卷或自定義配置文件不會自動刪除。要刪除所有圖像,容器和卷:
$ sudo rm -rf /var/lib/docker
必須手動刪除所有已編輯的配置文件。