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 ...
随机推荐
- 四位一体水溶交融,Docker一拖三Tornado6.2 + Nginx + Supervisord非阻塞负载均衡容器式部署实践
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_203 容器,又见容器.Docker容器的最主要优点就在于它们是可移植的.一套服务,其所有的依赖关系可以捆绑到一个独立于Linux内 ...
- linux-0.11分析:boot文件 setup.s 第二篇随笔
boot文件 setup.s 第二篇随笔 参考 [github这个博主的][ https://github.com/sunym1993/flash-linux0.11-talk ] 中断获取光标的位置 ...
- 宜宾市黑烟车电子抓拍系统App
2020.11 - 2021.06负责手机App开发 项目说明: 主要用于管理人员的移动办公,通过与管理平台共享数据库,实现:人工审核.推送交警.账户管理.信息查询.数据统计.点位电子地图.设备 ...
- ASP.NET Core 5.0中的Host.CreateDefaultBuilder执行过程
通过Rider调试的方式看了下ASP.NET Core 5.0的Web API默认项目,重点关注Host.CreateDefaultBuilder(args)中的执行过程,主要包括主机配置.应用程 ...
- LuoguP1456 Monkey King (左偏树)
struct LeftTree{ int l,r,val,dis; }t[N]; int fa[N]; inline int Find(int x){ return x == fa[x] ? x : ...
- 删除MySQL数据用户
mysql删除用户的方法: 1.使用"drop user 用户名;"命令删除: 2.使用"delete from user where user='用户名' and ho ...
- Spring 03: 基于xml的构造方法注入
构造方法注入 具体有3种注入方式:通过构造方法的 a.参数名称注入 b.参数下标注入 c.默认参数顺序注入 参数名称注入 School实体类 package com.example.pojo03; p ...
- identity4 系列————案例篇[三]
前言 前文介绍了identity的用法,同时介绍了什么是identitySourece.apiSource.client 这几个概念,和具体案例,那么下面继续介绍案例了. 正文 这里用官网的案例,因为 ...
- 【java】学习路线11-四种权限修饰的测试
package com.remoo.test;public class Learn09_Test{ private static String welcomeWord1 = "你好,p ...
- Mybatis的ResultMap与limit分页查询
ResultMap主要解决的是:属性名和字段不一致 如果在pojo中设置的是一个名字,在数据库上又是另一个名字,那么查询出来的结果或者其他操作的结果就为null. //在pojo中 private S ...