【技术笔记】Docker概要与安装

笔者最近在公司的一堂商务英语课上学习到了一个topic,是一个来自TED talk的话题——"Try something new for 30 days"。我觉得这个话题很有意思,而且也很符合我的个人观念,我本人就是喜欢不停去挑战和尝试新鲜事物。譬如很早之前就了解到了微服务,了解到了容器,还有就是这篇文字的Docker技术。但是心里一直就有个坎,感觉这种新技术很难,迟迟没有下功夫开展。当我上完这个英语课后,我下定决心开始针对Docker系列的学习。


什么是Docker?

这种问题一般都是学习入门的第一问,帮助我们去了解一个新生事物的必要途径。我Google了一下,Docker是一个开源项目, 诞生于2013年初,最初是dotCloud公司内部的一个业余项目,它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache 2.0协议,项目代码在“全球最大的同性交友网站”GitHub上进行维护。

Docker项目的目标是要实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。

为什么要去使用Docker呢?

使用一个工具,当然需要一个充分理由。之前说过,Docker的容器就好比一个虚拟机,不过Docker 相比传统虚拟机是有不少优势的:

启动速度更快: 速度成秒级启动。

快速的部署和交付: 开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后, 运维人员可以直接使用这个容器来部署代码。

更高效的虚拟化: 它是内核级的虚拟化,因此可以实现更高的性能和效率。

高效的迁移: Docker可以运行在不同的平台,用户可以轻松的将一个应用从一个平台迁移到另一个平台。

节省开支: Docker容器除了运行其中应用外,基本不消耗额外的系统资源,一台设备可以运行上千个容器。

Docker基本概念

本来是不太想介绍概念这种理论容易犯困的东西,但是这里必须是要介绍一下的,因为后面的安装是会用到这些内容。

镜像(Image)

Docker提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。镜像可以用来创建Docker容器。

容器(Container)

容器是从镜像创建的运行实例。它可以被启动、开始、停止、 删除。每个容器都是相互隔离的、保证安全的平台。

仓库(Repository)

仓库是集中存放镜像文件的场所。仓库分为公开仓库(Public)和私有仓库(Private) 两种形式。

Docker的安装步骤

作为技术人员,最重要就是实操开启了。事不宜迟,马上开始Docker的安装。

首先Docker 是支持多平台的安装的(Linux/Windows/OS X),因为Docker原生就支持Linux,所以可以直接在Linux上运行,而且在Windows和 OS X平台则需要借助轻量级的Linux VM(虚拟机)运行。(所有的系统安装可以先从Docker官方文档(英文版)开始)

由于笔者是租用了某云平台的服务器,用的是基于Linux内核的Ubuntu,所以这里介绍的一切安装环境是Ubuntu(不要再有人留言说Windows或者Mac OS来抬扛了)。安装之前,我建议你们通读一下Docker的官方英文安装指南,因为下面的步骤其实也是要从那里的内容翻译过来的,当然贴的图是我亲身踩坑一路走过来的。

首次在新的主机上安装Docker CE之前,需要设置Docker仓库。 之后则可以从存储库安装和更新Docker。


设置仓库

1、更新 apt 包索引:

$ sudo apt-get update

2、安装软件包,使它允许apt通过HTTPS使用仓库:

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

3、添加Docker的官方GPG密钥:

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

4、通过搜索密钥的最后8个字符,确认您现在已经拥有指纹 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 的密钥。

$ sudo apt-key fingerprint 0EBFCD88

5、查找Ubuntu的发行版名字:

$ lsb_release -cs

6、获得了Ubuntu的发行版名字是Xenial之后,使用以下命令来设置stable的仓库:

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu Xenial stable"

安装Docker CE

7、在设置好仓库之后,需要再次更新 apt 包索引:

$ sudo apt-get update

8、接下来这一步是我另外Google出来加的,可以再次确认一下Docker CE的可安装性:

$ apt-cache search docker-ce

9、安装最新版本的Docker CE:

$ sudo apt-get install docker-ce

10、通过运行hello-world (作为程序猿都懂的仪式感)镜像验证Docker CE是否正确安装。

$ sudo docker run hello-world

到了这一步,如果你的结果和笔者的截图是一样的,那恭喜你,你已经成功安装好Docker啦!

(如果你不想再用Docker了,你可以看这里)


卸载Docker CE

11、卸载Docker CE包:

$ sudo apt-get purge docker-ce

12、主机里的镜像、容器等配置文件是不会自动删除的,要删除这些所有的文件,可以用以下命令:

$ sudo rm-rf/var/lib/docker


其他的杂七杂八:

13、查看 Docker 版本:

$ sudo docker version

14、显示 Docker 系统信息,包括镜像和容器数:

$ sudo docker info


读更多的好书,拍更美的照片,写更酷的代码,遇见更有趣的人,愿望是实现从IT菜鸟到全栈工程师的蜕变。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 G...
    凉初透的风阅读 7,642评论 0 3
  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 11,330评论 1 39
  • JSTL配置环境 加载jar包JSTL和standard 配置页面环境 <%@taglib uri="core" ...
    金程_6f02阅读 93评论 0 0
  • 全世界只有不到3%的人微信搜索并且关注了 箫凌 你真是个特别的人 策划:箫凌「from Overture Stud...
    箫凌阅读 220评论 0 0
  • 今天经过三个多小时的车程,来到富蕴额尔齐斯游牧部落,住梦想中的小木屋,不错不错,设施齐备,群山环绕,旁边还有绿色帐...
    春暖花开73801阅读 419评论 0 0