系统要求

  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

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


让普通用户使用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

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

Ubuntu 环境下安装 Docker的更多相关文章

  1. ubuntu环境下安装docker遇到的坑

    ubuntu安装docker的前提条件是: 1. Linux 的内核版本在 3.10 或以上: 2. linux 内核要开启 cgroup 和 namespace 功能 可以执行命令:uname –a ...

  2. CentOS7环境下安装docker

    操作系统 : CentOS7.5.1804_x64 docker版本: docker-ce-18.06.3 准备环境 1.如之前安装过移除老旧版本 yum remove docker docker-c ...

  3. Redhat/Ubuntu/Windows下安装Docker

    Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...

  4. 【Docker】win10环境下安装Docker

    一.进入Docker官网 首先先到Docker官网下载最新官方Docker for Windows:Docker下载 在官网内可以查看到Docker的开发文档. 根据官网提示,Windows环境下下载 ...

  5. 【转载】Ubuntu环境下安装QT(转)

    Ubuntu 安装 Qt 开发环境 简单实现是本文要介绍的内容,内容很短,取其精华,详细介绍Qt 类库的说明,先来看内容. 一.Ubuntu下安装Qt $ sudo apt-get install q ...

  6. 在Ubuntu环境下安装eclipse

    Eclipse运行需要Java环境,java环境的安装见https://www.cnblogs.com/Sabre/p/10349320.html,本文不再赘述. 1.下载eclipse eclips ...

  7. Ubuntu环境下安装TinyOS系统

    1.输入下面命令会弹出source list窗口   1 sudo gedit /etc.apt/sources.list 在尾部添加以下地址:   1 2 deb http://tinyos.sta ...

  8. Ubuntu环境下安装CUDA9.0

    前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): ...

  9. [python] Ubuntu 环境下安装 python3.5 + pip

    一般情况下先添加PPA,但是我添加PPA会报错: sudo add-apt-repository ppa:fkrull/deadsnakes ubuntu add-apt-repository: co ...

随机推荐

  1. Win10系统下搭建Go lang开发环境更换国内源并且体验宇宙最快框架Iris

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_156 最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了如何在Mac os系统下配置Go ...

  2. Java学习 (六)基础篇 类型转换

    类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 字节大小(容量)-> 低--------------------------------------------- ...

  3. springboot整合xxl-job分布式定时任务【图文完整版】

    一.前言 定时任务有很多种,有一些大的框架也有一些简单的实现. 比如常见的: JDK的Timer和TimerTask Quartz异步任务调度框架 分布式定时任务XXL-JOB Spring Task ...

  4. 我在Apache DolphinScheduler的心路历练

    摘要:Apache DolphinScheduler 目前是 Apache 孵化项目,目前正在快速发展中.加入Apache DolphinScheduler社区已一年多,已有 400+ 公司在生产上使 ...

  5. mybatis 08: 返回主键值的insert操作 + 利用UUID获取字符串(了解)

    返回主键值的insert操作 应用背景 图示说明 在上述业务背景下,涉及两张数据表的关联操作:用户表 + 用户积分表 传统操作:在对用户表执行完插入语句后,再次查询该用户的uid,将该uid作为外键, ...

  6. 一,DRF入门规范

    一 Web应用模式 在开发Web应用中,有两种应用模式: 1.1 前后端不分离 1.2 前后端分离 二 API接口 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的 ...

  7. [CSP day1T3]树上的数

    题面 题解 这道题由于是求字典序最小的,所以要贪心地枚举数字,然后找可以走到的编号最小的点,处理这条路径. 这条路径有一些特性. 以下是特别精炼的结论: 所以一旦选好了路径,这些边的先后顺序就被定死了 ...

  8. Android下的IPC通信方式

    一.Bundle Android的Activity.Service.Receiver都支持在Intent传递Bundle数据,Bundle实现了Parcelable接口, 所以能很方便的在不同进程之间 ...

  9. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(19)-Fiddler精选插件扩展安装,将你的Fiddler武装到牙齿

    1.简介 Fiddler本身的功能其实也已经很强大了,但是Fiddler官方还有很多其他扩展插件功能,可以更好地辅助Fiddler去帮助用户去开发.测试和管理项目上的任务.Fiddler已有的功能已经 ...

  10. 优化器Optimal

    未完成!!!!!! 神经网络的训练主要是通过优化损失函数来更新参数,而面对庞大数量的参数的更新,优化函数的设计就显得尤为重要,下面介绍一下几种常用的优化器及其演变过程: [先说明一下要用到符号的含义] ...