Ubuntu 环境下安装 Docker
系统要求
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的更多相关文章
- ubuntu环境下安装docker遇到的坑
ubuntu安装docker的前提条件是: 1. Linux 的内核版本在 3.10 或以上: 2. linux 内核要开启 cgroup 和 namespace 功能 可以执行命令:uname –a ...
- CentOS7环境下安装docker
操作系统 : CentOS7.5.1804_x64 docker版本: docker-ce-18.06.3 准备环境 1.如之前安装过移除老旧版本 yum remove docker docker-c ...
- Redhat/Ubuntu/Windows下安装Docker
Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...
- 【Docker】win10环境下安装Docker
一.进入Docker官网 首先先到Docker官网下载最新官方Docker for Windows:Docker下载 在官网内可以查看到Docker的开发文档. 根据官网提示,Windows环境下下载 ...
- 【转载】Ubuntu环境下安装QT(转)
Ubuntu 安装 Qt 开发环境 简单实现是本文要介绍的内容,内容很短,取其精华,详细介绍Qt 类库的说明,先来看内容. 一.Ubuntu下安装Qt $ sudo apt-get install q ...
- 在Ubuntu环境下安装eclipse
Eclipse运行需要Java环境,java环境的安装见https://www.cnblogs.com/Sabre/p/10349320.html,本文不再赘述. 1.下载eclipse eclips ...
- Ubuntu环境下安装TinyOS系统
1.输入下面命令会弹出source list窗口 1 sudo gedit /etc.apt/sources.list 在尾部添加以下地址: 1 2 deb http://tinyos.sta ...
- Ubuntu环境下安装CUDA9.0
前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): ...
- [python] Ubuntu 环境下安装 python3.5 + pip
一般情况下先添加PPA,但是我添加PPA会报错: sudo add-apt-repository ppa:fkrull/deadsnakes ubuntu add-apt-repository: co ...
随机推荐
- Mybatis的使用(4)
1:解决实体类成员变量和数据库表中字段名称不一致的问题: 方法1:在写sql语句时,给表中的列名起别名,名字和实体类名称一样 方法2:使用resultMap来解决: 例如:实体类中成员变量为id,na ...
- 图解OSI七层模型
七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系.它是一个七层的.抽象的模型体 ...
- JavaScript 异步编程(二):Promise
PromiseState Promise 有一个 [[PromiseState]] 属性,表示当前的状态,状态有 pending 和 fulfill 以及 reject. 从第一个 Promise 开 ...
- 简单理解 Webpack,以及Web前端使用打包工具的原因
Java 中的模块 传统的前端开发就是 JS.HTML.CSS 三件套.Web 没有像 Java 一样拥有优秀的模块机制,就是类与类之间可以分装在不同的包下,不同包下的类互相引用时通过import导入 ...
- Java SE 14 新增特性
Java SE 14 新增特性 作者:Grey 原文地址:Java SE 14 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- centos 安装ftp服务BUG
安装完成之后匿名可登录,但是先创建的用户名和密码无法登录,最后排查原因是/etc/pam.d/vsftpd 文件注释掉第四行 auth required pam_shells.so
- 【碳硫磷模拟赛】消失的+和* (树形DP)
好久没做过这么恶心的DP题了 题面 题面很简单,有一个计算式,由+号.*号.括号和小于10的正整数组成,现在所有的+和*(由于属于违禁词而)都被-号给和谐掉了,现在要求所有可能的原计算式的结果之和. ...
- HandInDevil 的头发 (分 块)
题面 H a n d I n D e v i l \rm HandInDevil HandInDevil 的头发很油,因此随时有跳蚤跳上 H a n d I n D e v i l \rm HandI ...
- C#基础_类的声明
新建Clerk类. using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...
- 网站SQL注入之数字型注入和字符型注入
什么是SQL注入- (SQL Injection)是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击.1,是一种将SQL语句插入或添加到应用(用户)的 ...