­

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

  必須手動刪除所有已編輯的配置文件。