从2017年3月开始,Docker开始分为社区版本和企业版,也就是Docker CE和Docker EE, 原来Ubuntu14.04下,通过sudo apt-get install docker.io来进行安装的方式已经过时了。在这里,会详细介绍如何在ubuntu14.04 LTS下安装Docker社区版,也就是Docker CE。

在开始之前,请确保你先做好一些前期准备工作,然后开始安装Docker

前期准备工作

操作系统

安装Docker CE,你需要以下其中一种64位的Ubuntu操作系统:

  • Artful 17.10 (Docker CE 17.11 Edge only)
  • Zesty 17.04
  • $Xenial$ 16.04 (LTS)
  • Trusty 14.04 (LTS)

Docker CE 被允许安装上在 x86_64armhf, 以及 s390x (IBM z Systems) 架构之上的Ubuntu操作系统。

清理过期的Docker版本

旧版本的Docker,通常叫做docker或是docker-engine,如果他们之前被安装在操作系统中,请先进行卸载:

  1. $ sudo apt-get remove docker docker-engine docker.io

使用apt-get查看是否还有相关包,如果没有则表示清理成功。

安装Docker CE

Docker CE有多种不同的安装模式:

  • 建议大部分的用户通过设置Docker存储库(Docker's repositories),再由储存库进行安装,这样方便安装,且容易升级。
  • 一些用户可以采用下载debian包的方式来进行手动安装和手动升级。这种做法在某些情况下会很有用,例如离线环境下安装Docker CE。
  • 在某些开发或测试环境下,部分用户可以选择采用自动化脚本来安装Docker CE。

通过repositories安装

当你第一次在一台全新机器上安装Docker CE之前,你需要先设置一下Docker的repositories。然后才可以从repositories中进行安装或升级Docker的操作。

设置repositories
  1. 升级apt源的索引信息:
  1. $ sudo apt-get update
  1. 安装指定包,这些包可以允许apt通过HTTPS来访问repository:
  1. $ sudo apt-get install \
  2. apt-transport-https \
  3. ca-certificates \
  4. curl \
  5. software-properties-common
  1. 添加Docker官方提供的GPG key:
  1. $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

通过使用apt-key finger print搜索指纹码最后8位,可以验证你在上一步所生成的指纹码应该为9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

  1. $ sudo apt-key fingerprint 0EBFCD88
  2. pub 4096R/0EBFCD88 2017-02-22
  3. Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
  4. uid Docker Release (CE deb) <docker@docker.com>
  5. sub 4096R/F273FCD8 2017-02-22
  1. 使用下面的命令来设置一个stable的repository,以下命令只基于X86_64平台,如需使用其他平台安装,请参阅官方文档:
  1. $ sudo add-apt-repository \
  2. "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  3. $(lsb_release -cs) \
  4. stable"
安装Docker CE
  1. 升级apt源的索引信息:
  1. $ sudo apt-get update
  1. 安装最新版本的Docker CE,或者跳过这一步,按照第三步的方法指定安装的版本:
  1. sudo apt-get install docker-ce

当有多个Docker的repository库的时候?

当你的机器上有多个可用的Docker repository。如果使用apt-get install或是apt-get update命令进行安装或更新操作的时候,没有指定安装的Docker版本,将总是安装这些repository中能支持的最高版本的Docker,这时请注意这是否你真正需要的版本。如果不是,请在安装时指定版本。

  1. 在真实的产品环境系统中,你可能会需要安装指定版本的Docker CE,而不是总是安装默认版本。使用下面的命令可以列出允许使用的相关版本信息:
  1. $ apt-cache madison docker-ce
  2. docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

命令返回结果中列举的内容依赖于系统中存在的repository,可以从返回结果中选取指定版本号来安装Docker CE。第二列是版本信息。第三列是repository的名字,标识了安装包来自于那个repository,以及当前版本的稳定性。如果要安装指定版本,把版本号添加到包名字(这里包名就是docker-ce)的后面,用(=)分隔开:

  1. $ sudo apt-get install docker-ce=<VERSION>

安装完成后,Docker daemon(Docker服务端守护进程)会自动开始运行。

  1. 运行一个hello-world image来验证一下安装是否正确:
  1. $ sudo docker run hello-world

运行这个命令,自动下载一个测试image,然后运行在一个container中。运行后,会打印一个消息,然后自动退出。


  1. Hello from Docker!
  2. This message shows that your installation appears to be working correctly.
  3. To generate this message, Docker took the following steps:
  4. 1. The Docker client contacted the Docker daemon.
  5. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  6. (amd64)
  7. 3. The Docker daemon created a new container from that image which runs the
  8. executable that produces the output you are currently reading.
  9. 4. The Docker daemon streamed that output to the Docker client, which sent it
  10. to your terminal.
  11. To try something more ambitious, you can run an Ubuntu container with:
  12. $ docker run -it ubuntu bash
  13. Share images, automate workflows, and more with a free Docker ID:
  14. https://cloud.docker.com/
  15. For more examples and ideas, visit:
  16. https://docs.docker.com/engine/userguide/

Docker CE安装完成后,docker group会被自动创建,但是默认没有user在里面。所以你仍然需要使用sudo 来启动和运行Docker命令。可以配置Linux postinstall来允许非授权用户运行和配置Docker CE。

升级 Docker CE

如果需要升级Docker CE,首先请运行sudo apt-get update,然后安装上文所述的安装步骤,重新选择新的Docker CE版本来进行安装。

通过repository来安装Docker CE的方法到这里就结束了,下一篇会继续介绍通过package和脚本来安装Docker CE。

在Ubuntu14.04下安装Docker CE(1) - repository篇的更多相关文章

  1. Ubuntu14.04下安装docker 1.9

    有以下几种方式: 1. 通过系统自带包安装(可能不是最新版) $ sudo apt-get update $ sudo apt-get install -y docker.io $ sudo ln - ...

  2. Ubuntu14.04下安装docker

    http://www.cnblogs.com/xiaoluosun/p/5520510.html

  3. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  4. Ubuntu14.04下安装Hadoop2.5.1 (单机模式)

    本文地址:http://www.cnblogs.com/archimedes/p/hadoop-standalone-mode.html,转载请注明源地址. 欢迎关注我的个人博客:www.wuyudo ...

  5. 二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)

    在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置 一.配置core-site.xml /usr/local/hadoop/etc/hadoop/core-site.xml ...

  6. Ubuntu14.04下安装Flash Player

    Ubuntu14.04下安装Flash Player youhaidong@youhaidong:~$ sudo apt-get install flashplugin-nonfree [sudo] ...

  7. 详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程

    由于项目的需要,我们在很多软件配置环境中需要用到Docker容器,这个时候我们可以用自己的VPS主机搭建.在这篇文章中,笔者将会利用Ubuntu 16.04系统环境安装Docker CE容器的过程.如 ...

  8. Ubuntu14.04下 安装p4c

    参考: Github p4c README Ubuntu14.04下 安装p4c 这里提供一个直接安装p4c的脚本:install_p4c.sh. 1.git clone下来p4c: $ git cl ...

  9. Ubuntu14.04下安装Libsvm,并使用Libsvm

    (1)Ubuntu14.04下安装Libsvm 转载:https://blog.csdn.net/katrinawj/article/details/78915874 一.下载: 网址:http:// ...

随机推荐

  1. CodeForces 11D(状压DP 求图中环的个数)

    Given a simple graph, output the number of simple cycles in it. A simple cycle is a cycle with no re ...

  2. Pick apples(大范围贪心,小范围完全背包)

    Pick apples Time Limit: 1000MS Memory Limit: 165536KB Submit Statistic Discuss Problem Description O ...

  3. Java开发必装的IntelliJ IDEA插件

    IDEA 插件简介 常见的IDEA插件主要有如下几类: 常用工具支持 Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了. ...

  4. c++学习笔记---06--- 函数的重载

    函数的重载 函数的重载 C++ 里的函数重载(overloading)机制比我们此前见到的东西都高深,这种语言的灵活性和强大功能在它身上体现得淋漓尽致. 所谓函数重载的实质就是用同样的名字再定义一个有 ...

  5. Linux安装nginx代理服务器

    Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...

  6. Adobe Html5 Extension开发初体验

    一.背景介绍       Adobe公司出品的多媒体处理软件产品线较多,涵盖了音视频编辑.图像处理.平面设计.影视后期等领域.为了扩展软件的功能,Adobe公司为开发者提供了两种方式来增加软件的功能: ...

  7. Linux常用配置讲解

    本文主要讲解Linux的用户设置.主机名设置.网络配置.防火墙配置 用户传输包的命令lrzsz的安装以及SSH服务配置等基本操作. 1. 用户名设置 服务肯定是为了用户,而用户可能对于Linux并不了 ...

  8. [转]Oracle 索引质量分析

    http://blog.csdn.net/leshami/article/details/23687137 索引质量的高低对数据库整体性能有着直接的影响.良好高质量的索引使得数据库性能得以数量级别的提 ...

  9. C#表达式目录树(Expression)

    1.什么是表达式目录树 :简单的说是一种语法树,或者说是一种数据结构(Expression) 2.用Lambda声明表达式目录树: Expression<Func<; //表达试目录树的方 ...

  10. JSON.parse()和JSON.stringify()和eval('(' + result + ')')

    var str = '{"name":"huangxiaojian","age":"23"}' 结果: JSON.par ...