一、 Docker概述
1. Docker 相关网址
// docker官网
https://www.docker.com
// docker官方文档地址:
https://docs.docker.com/
// docker中文网
https://dockerdocs.cn/
// github地址
https://github.com/docker/docker-ce
2. 基本介绍
2010年,几个的年轻人,就在美国的旧金山成立了一家公司 dotcloud。
从事LXC(Linux Container容器)有关的容器技术!Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。他们将自己的技术(容器化技术)命名就是 Docker。
为了在IT巨头的夹缝中活下去,2013年,dotCloud的创始人将dotCloud的核心引擎开源。
2014年6月9日,Docker1.0发布!1.0版本的发布,标志着docker平台已经足够成熟稳定,并可以被应用到生产环境。
docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),本教程使用社区版(CE)。
3. 容器的发展
自建服务时代,企业发布应用到互联网通常需要,买服务器,找IDC机房组机架,运维人员装Linux系统,各种环境,部署应用。扩容维护困难,安全性差(系统安全性,部署发布流程上的漏洞),无法快速迭代等问题。
云计算的标志是上云,企业不自建机房搭建物理机了,而是直接从云服务器供应商处购买虚拟机。相比自建服务,虚拟机扩容,网络安全性都得到了解决,云计算解决的是计算资源和网络资源的简化,进一步就需要云原生技术了。
要做到快速迭代,敏捷开发,就需要DevOps,即开发运维由一个团队负责,开发阶段,就要把部署、运维的工作考虑进去,而不是发布一个war包或者jar包后扔给运维不管了。docker的使用,让我们来到了项目发布测试一键运行的时代。
相比虚拟机,Docker是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨到极致。
4. docker简介
Docker通常是指 Docker Engine,它是一个客户端 - 服务器应用程序,由 Docker守护进程、一个REST API指定与守护进程交互的接口、和一个命令行接口(CLI)与守护进程通信(通过封装REST API)。Docker Engine 从 CLI 中接受docker 命令,例如 docker run 、docker ps 来列出正在运行的容器、docker images 来列出镜像,等等。
- docker是一个软件,可以运行在window、linux、mac等各种操作系统上。
- docker 是一个开源的应用容器引擎,基于Go 语言开发并遵从 Apache2.0 协议开源,项目代码托管在github上进行维护。
- docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
- 容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
docker由以下部分组成:
- docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
- docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似maven) ;
- docker镜像(Images):软件打包好的镜像;放在docker仓库中;
- docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用。