Ubuntu环境下安装Docker

1. 系统要求

Docker目前只能运行在64位平台上,并且要求内核版本不低于3.10,实际上内核越新越好,过低的内核版本容易造成功能不稳定。

可以通过如下命令检查自己的内核版本详细信息:

$ uname -a

或者

$ cat /proc/version

Docker目前支持的最低Ubuntu版本为12.04LTS,但实际上从稳定性上考虑,推荐至少使用14.04LTS版本

查看Ubuntu版本号命令为

$ lsb_release -r

查看Ubuntu代号命令为

$ lsb_release -c

不同Ubuntu版本号及代号如下

Artful 17.10 (Docker CE 17.11 Edge)、Zesty 17.04、Xenial 16.04 (LTS)、Wily 15.10、Vivid 15.04、Trusty 14.04 (LTS)、Precise 12.04(LTS)

如果使用12.04LTS版本,首先要更新系统内核和安装可能需要的软件包,包括:

  linux-image-generic-lts-trusty(必备)

  linux-headers-generic-lts-trusty(必备)

  xserver-xorg-lts-trusty(带图形界面时必备)

  libgll-mesa-glx-lts-trusty(带图形界面时必备)

另外,从 Ubuntu 14.04 开始,一部分内核模块移到了可选内核模块包 (linux-image-extra-*) ,以减少内核软件包的体积。正常安装的系统应该会包含可选内核模块包,而一些裁剪后的系统可能会将其精简掉。AUFS 内核驱动属于可选内核模块的一部分,为了让Docker使用aufs存储,推荐安装linux-iamge-extra软件包。

$ sudo apt-get insall -y linux-image-extra-$(uname -r)

 2. 添加镜像源

正式操作前建议先更新一下apt 的缓存,尤其是安装完Ubuntu之后第一次运行

$ sudo apt-get update

首先需要安装apt-transport-https包支持HTTPS协议的源,以及CA证书:

$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

其次添加源的gpg密钥:

  国内源地址

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

  官方源地址

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

再次添加Docker的apt软件源:

  可以使用如下命令添加apt软件源

  国内源:

$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

  官方源:

$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

  另外,《Docker技术入门与实战》第2版中的方法是通过下面的命令创建/etc/apt/sources.list.d/docker.list文件,并写入源地址内容,注意修改自己系统对应的代号。书中安装的trusty版本,我想安装artful版本。

$ sudo cat <<EOF > /etc/apt/sources.list.d/docker.list
> deb https://apt.dockerproject.org/repo ubuntu-atrful main
> EOF

  然而在下面的一步更新apt软件包缓存时出错,访问上述https地址出错,报403 Forbidden错。后来进入上面的地址查看,发现上面地址最晚更新时间为2017年,最新版本为ubuntu-xenial,并没有artful版本。因此Ubuntu系统为16.04及以下的可以使用该方法。

最后,添加完Docker源,更新apt软件包缓存

$ sudo apt-get update

还可以使用如下命令来查看有哪些版本的Docker可以使用

$ apt-cache policy docker-ce

$ apt-cache policy docker-engine

  注意,2017年的3月1号之后,Docker的版本命名开始发生变化,同时将CE版本和EE版本进行分开,CE是社区版,EE是企业版。查看artful版本时,使用docker-ce,而使用docker-engine则查不到。xenial 版本及之前的,还可以使用docker-engine。

3. 开始安装Docker

在成功添加源之后,就可以安装最新版本的docker了,artful及之后版本使用docker-ce,xenial及之前版本使用docker-engine。

$ sudo apt-get install docker-ce

$ sudo apt-get install docker-engine

如果系统中存在较旧版本的Docker,会提示是否先删除,选择“是”即可。

另外,还可以使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

4. 启动 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

Ubuntu 14.04 请使用以下命令启动,atrful版本无法使用以下命令:

$ sudo service docker start

5. 验证Docker是否安装成功

运行如下命令,Docker会下载一个镜像,并运行在一个窗口中,输出信息

$ sudo docker run hello-world

6. 将当前用户添加到安装中自动创建的docker用户组:

$ sudo usermod -aG docker $USER

Ubuntu17.10安装Docker的更多相关文章

  1. Windows 10 安装 Docker for Windows

    Docker for Windows是Docker社区版(CE)应用程序. Docker for Windows安装包包括在Windows系统上运行Docker所需的一切. 本主题介绍了预安装注意事项 ...

  2. windows 10安装docker一直挂起在Installing Components and Removing Files

    碰到这个问题百度了好久都没有找到解决方式,什么用管理员方式运行,给文件夹权限啊,都不好使. 后面在bing上面搜docker install compoents关键字找到一条结果,如下如 点进链接,内 ...

  3. ubuntu17.10安装LAMP并测试部署php探针系统

    ubuntu17.10修改密码以及安装LAMP并部署php探针系统 步骤1:ubuntu17.10配置IP (这个版本配置IP方式改变较大,apt-get upgrade更新至最新以前配置方式也可以用 ...

  4. ubuntu17.10 安装CUDA

    1. 更新apt-get源列表 sudo apt-get update sudo apt-get upgrade 2. 添加驱动源 sudo add-apt-repository ppa:graphi ...

  5. ubuntu17.10安装lnmp安装包的核心问题-gcc版本、g++版本

    大致碰到的问题都是这样,不是php安装失败,就是MySQL安装失败,或者Nginx也安装失败 基本上是花式报错.后来在军哥的论坛中找到了这个帖子:https://bbs.vpser.net/viewt ...

  6. Windows 10 安装 Docker

    下载Docker For Windows 地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.ex ...

  7. Windows 10安装Docker 步骤及顺序

    最近在工作中,重新安装Docker时,遇到了一点坑,故将自己解决经验分享一下~ Hardware assisted virtualization and data execution protecti ...

  8. docker学习 (三) Windows 10 安装Docker

    Docker CE: 社区版,免费. Docker EE: 企业版,收费. 安装:             Windows 10 Pro 64, 必须开启Hyper-v 下载:Docker for W ...

  9. ubuntu-17.10 安装 FANN

      因为想用C语言写神经网络,不用已有的库的话,又太难了,所以准备安装一个夸平台的FANN库, 源文件下载地址http://leenissen.dk/fann/wp/download/,我下载的是最新 ...

随机推荐

  1. sqlserver2008 T_SQL篇

    事物 事物的概念:--转自百度百科事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻 ...

  2. RESTful API浅谈

    一.REST的由来 全称:REST,全称是Resource Representational State Transfer,即:资源在网络中以某种形式进行状态转移.————所谓状态的转移,可参考< ...

  3. Http长连接

    1.Http长连接 Http的请求时在TCP连接上进行发送的,TCP的连接分为长连接和短连接 打开www.baidu.com,查看Connection ID 如下图. Connection ID代表T ...

  4. Metaclasses

    1.Metaclasses Metaclasses是创建class(对象)的东西,它们是描述类的类,我们经常使用所理解的对象和class以及Metaclasses可以理解成以下形式: MyClass ...

  5. 为服务器设置SSL证书,配置Https协议

    注意 服务器要打开443端口 1.申请证书,这里推荐腾讯云或者阿里云的,有免费的证书,要求不高的盆友可以试一试 2.打开php.ini扩展. extension=php_openssl.dll 3.打 ...

  6. 批量删除ppt动画

    alt+F11打开宏编辑窗口,输入以下代码,运行即可: Sub removeALL() Dim I As Integer: Dim J As Integer Dim oActivePres As Ob ...

  7. Oracle 外键级联更新

    Oracle数据库中,外键约束只允许级联删除,不允许级联更新,因此,如果想要实现主表数据更新后,子表外键自动更新,只能取消外键关系,通过前端程序来维护实现完整引用,一个代替的解决方案是使用延迟约束和触 ...

  8. 网页中HTML代码如何实现字体删除线效果

    有的朋友在制作网站的时候,需要给字体制作删除线,例如:选择题,错误标识等!那么我们就需要用到了<s>这个标签写法如下 字体删除线: <s>这里是内容</s> 效果如 ...

  9. 执行yum提示错误:rpmdb: BDB0113 Thread/process 424227/139826856310848 failed

    [问题]在执行yum安装或者其他命令时,有如下提示: [解决办法:重新构建rpm数据库] [root@cly ~]# cd /var/lib/rpm [root@cly rpm]# ls Basena ...

  10. js对象原型prototype

    javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用. 每一个构造函数都有一个属性叫做原型 1.1. 原型法设 ...