从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,如果他们之前被安装在操作系统中,请先进行卸载:

$ 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源的索引信息:
$ sudo apt-get update
  1. 安装指定包,这些包可以允许apt通过HTTPS来访问repository:
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
  1. 添加Docker官方提供的GPG key:
$ 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

$ sudo apt-key fingerprint 0EBFCD88

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

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

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

  1. 在真实的产品环境系统中,你可能会需要安装指定版本的Docker CE,而不是总是安装默认版本。使用下面的命令可以列出允许使用的相关版本信息:
$ apt-cache madison docker-ce

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)的后面,用(=)分隔开:

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

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

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

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


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

    学习回调函数的基本概念,并在CUDA的任务流中插入基于CPU的主机函数,作为回调函数使用. ▶ 源代码:没有用到的部分被注释起来了 /*multithreading.h*/ #ifndef MULTI ...

  2. 利用quartz实现定时调度

    1.Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.这里我介绍quartz的两种方式.我这里搭建 ...

  3. 搭建Maven私服那点事

    摘要:本文主要介绍在CentOS7.1下使用nexus3.6.0搭建maven私服,以及maven私服的使用(将自己的Maven项目指定到私服地址.将第三方项目jar上传到私服供其他项目组使用) 一. ...

  4. DOM Exception error

    INDEX_SIZE_ERR  code 1                              索引是负值,或者超过了索引值 DOMSTRING_SIZE_ERR  code 2       ...

  5. Oracle-2 - :超级适合初学者的入门级笔记--定义更改约束,视图,序列,索引,同义词

    接着我上一篇的写,在这感觉到哇 内容好多啊   上一篇,纯手打滴,希望给个赞! 添加约束的语法: 使用 alter table 添加或删除约束,但是不能修改约束 有效化或无效化约束 添加not nul ...

  6. Python做的第一个小项目-模拟登陆

    1. 用户输入帐号密码进行登陆 2. 用户信息保存在文件内 3. 用户密码输入错误三次后锁定用户 主要采用循环语句和条件语句进行程序流程的控制,加入文件的读写操作 while True: choice ...

  7. Linux学习决心书

    学习Linux决心计划书 我叫耿长学,来自河南省邓州市,经过老男孩教育运维班5个月学习后,我一定要达到的薪水目标是11000元,为了达到此目标我将采取如下10大行动或方案: 1.每天早上5:30-6: ...

  8. GPIO复位功能说明

    根据STM32L0x3参考手册RM0367,每个General-Purpose IO口,有以下寄存器: 1.4个32位的控制寄存器,分别为GPIOx_MODER,GPIOx_OTYPER,GPIOx_ ...

  9. 异步获取CMD命令行输出内容

    当控制台命令使用process.Start(); 后可以直接显示输出内容,当然它是异步显示的不用等程序结束.代码如下: using System;using System.Collections.Ge ...

  10. 为什么选择使用Sass而不是Less?

    这篇文章主要解答以下几个问题,供前端开发者的新手参考. 1.什么是Sass和Less? 2.为什么要使用CSS预处理器? 3.Sass和Less的比较 4.为什么选择使用Sass而不是Less? 什么 ...