Ubuntu 环境下安装 Docker

时间:2022-10-17 22:06:27

  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

 


添加镜像源

  首先需要安装 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

 


安装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

  出现如下信息,表示安装成功:

Ubuntu 环境下安装 Docker

 


让普通用户使用Docker

  要解决这个问题,必须抓住LInux的权限管理:要把当前的用户添加到docker group.

$ sudo usermod -a -G docker $USER //将当前用户添加到docker组中
$ newgrp docker #更新用户组
# 退出并重新登录后,组信息才会生效

$ docker ps #测试docker命令是否可以使用sudo正常使用

  notes:

    -a :在-G存在的情况下,增加次要用户组的支持,不是修改当前用户组

    -G :修改当前次要组

    -G -a :是增加新的次要组



卸载Docker

  卸载Docker Engine,CLI和Containerd软件包:

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io

  主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

$ sudo rm -rf /var/lib/docker

  必须手动删除所有已编辑的配置文件。