Ubuntu 環境下安裝 Docker

2022-10-18 06:00:30

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 https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  設定穩定版倉庫:

$ sudo add-apt-repository "deb [arch=amd64] https://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

  必須手動刪除所有已編輯的組態檔。