《Docker 教程》Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。
Docker利用Linux核心中的资源分离机制,例如cgroups,以及Linux核心名字空间(namespaces),来创建独立的容器(containers)。这可以在单一Linux实体下运作,避免引导一个虚拟机造成的额外负担。
Linux核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括行程树、网络、用户ID与挂载文件系统,而核心的cgroup提供资源隔离,包括CPU、存储器、block I/O与网络。
从0.9版本起,Dockers在使用抽象虚拟是经由libvirt的LXC与systemd - nspawn提供界面的基础上,开始包括libcontainer库做为以自己的方式开始直接使用由Linux核心提供的虚拟化的设施。
提示:在您开始学习运用Docker之前,您需要掌握 Linux 的常用命令。
依据行业分析公司“451研究”:“Dockers是有能力打包应用程序及其虚拟容器,可以在任何Linux服务器上运行的依赖性工具,这有助于实现灵活性和便携性,应用程序在任何地方都可以运行,无论是公用云、私有云、单机等。”
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
Docker优点
简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。那么你可以使用 Docker 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
提示:我们的Docker 教程将帮助您学习运用Docker。如果你有任何疑问,请前往PHP中文网Docker 社区提出你的问题,会有热心网友为你解答。
本Docker教程手册涵盖的内容
本Docker教程涵盖所有Docker基础和高级知识,包含了Docker使用、Docker安装Nginx、Docker安装PHP、Docker安装MySQL、Docker安装Python、Docker安装redis等等知识详解。
提示:本教程的每一章都包含了很多图文详细实例,通过这些例子将帮助您更好地理解和运用Docker 。
最新章节
- Docker 资源汇总2016-10-18
- Docker 命令大全2016-10-18
- Docker 安装 Apache2016-10-18
- Docker 安装 MongoDB2016-10-18
- Docker 安装 Redis2016-10-18
- Docker 安装 Python2016-10-18
- Docker 安装 Tomcat2016-10-18
- Docker 安装 MySQL2016-10-18
相关课程
- PHP实战天龙八部之微信支付视频教程2018-01-09
- PHP实战天龙八部之仿爱奇艺电影网站2018-01-11
- CI框架30分钟极速入门2017-12-25
- 独孤九贱(5)_ThinkPHP5视频教程2017-05-16
- 独孤九贱(4)_PHP视频教程2017-03-20
- ThinkPHP5实战之[教学管理系统]2017-07-24
- Thinkphp3.2.3个人博客开发2017-01-23
- ThinkPHP5快速开发企业站点[全程实录]2017-08-15