笔者最近在公司的一堂商务英语课上学习到了一个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菜鸟到全栈工程师的蜕变。