您的位置:首页 > 运维架构 > Docker

Docker学习笔记(一)docker介绍及相关概念

2016-09-06 13:41 567 查看
在Docker官方中文社区中,Docker的定义如下:

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare
metal、OpenStack 集群和其他的基础应用平台。

Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案。Docker的初衷也就是将各种应用程序和他们所依赖的运行环境打包成标准的container/image,进而发布到不同的平台上运行,Docker
container和普通的虚拟机Image相比, 最大的区别是它并不包含操作系统内核。当然,我们也可以将一整个操作系统都打包到Docker容器中里,比如Ubuntu等等。

简单来说,Docker就是一个开源的容器虚拟化平台,用户根据自己的需求制作容器,容器可以方便地进行发布并具备十分优秀的可移植性。以前我们开发软件应用的时候,在交付的时候或在不同环境下搭建的应用的时候总会遇到或多或少由于环境带来的问题。通过Docker的容器技术,我们完全可以将开发的软件应用打包到docker容器中,在交付我们的容器即可,这样就避免了可能由于环境带来的各种问题。

除此之外,但从应用使用者的角度,docker也为我们带来了极大地便利。例如,当我们在学习类似apache、nginx这类服务器应用的时候,我们在对比学习的时候可能要在一台机器上一个一个地进行搭建,还要进行端口的分配,数据库配置,网站路径设置等等一系列复杂的操作。但是通过Docker,我们只需要几条简单的命令,就可以将apache和ngnix部署到我们的环境中,且各自独立互不影响。我们所要做的全部任务就是指定好端口、设置好网站路径罢了。不仅仅是apache和nginx,很多应用同样发布了自己的docker镜像出来供用户下载使用,用户下载之后只需要一条命令就可以完成部署,大大简化了安装的复杂度。

Dockerhub是docker官方的镜像库,里面存了用户上传的所有镜像,docker
search命令便是从这个库中找所需的image。下图是排名较高的一些应用。



之后,我们就会具体实践下如何使用docker,并通过docker部署一个完整的wordpress博客来对它进行深入的了解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息