Docker 简单介绍
Docker是开发、运输和运行应用程序的开放平台。Docker使您能够将应用程序与基础结构分离,以便快速交付软件。使用Docker,您可以使用与管理应用程序相同的方式管理基础设施。通过利用Docker的方法来快速地发送、测试和部署代码,您可以显著减少编写代码和在生产中运行代码之间的延迟。
docker平台:
1、Docker提供了在一个称为容器的松散隔离环境中打包和运行应用程序的能力。隔离和安全性允许您同时在给定主机上运行多个容器。容器是轻量级的,因为它们不需要hypervisor的额外负载,而是直接运行在主机的内核中。这意味着您可以在给定的硬件组合上运行更多的容器,而不是使用虚拟机。您甚至可以在虚拟机的主机中运行Docker容器!
2、Docker提供工具和一个平台来管理容器的生命周期:
使用容器开发应用程序及其支持组件;
容器成为分发和测试应用程序的单元;
当您准备好时,将您的应用程序部署到生产环境中,作为容器或编排的服务。无论您的生产环境是本地数据中心、云提供商还是两者的混合,这都是相同的。
docker引擎
Docker引擎是一个具有这些主要组件的客户机-服务器应用程序:
1、服务,它是一种长时间运行的程序,称为守护进程(dockerd命令);
2、一个REST API,它指定程序可以用来与守护进程对话的接口,并指导它做什么;
3、命令行接口(CLI)客户端(docker命令)。
CLI使用Docker REST API通过脚本或直接CLI命令来控制或与Docker守护进程交互。
许多其他Docker应用程序使用底层API和CLI。
守护进程创建并管理Docker对象,例如镜像、容器、网络和卷。
Docker在开源Apache 2.0许可下获得许可。
Docker 是由GO语言编写的。
Docker可以做什么
Docker是轻量级和快速的。它为基于虚拟机管理程序的虚拟机提供了一种可行的,具有成本效益的替代方案,因此您可以使用更多的计算容量来实现业务目标。Docker是高密度环境和中小型部署的理想选择,您需要用更少的资源做更多的事情。
Docker体系结构
Docker使用客户机 - 服务器体系结构。Docker 客户端与Docker 守护进程对话,Docker 守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以 在同一个系统上运行,也可以将Docker客户端连接到远程的Docker守护进程。Docker客户端和守护进程使用REST API通过UNIX套接字或网络接口进行通信。
以下命令运行一个ubuntu容器,以交互方式附加到本地命令行会话并运行/bin/bash。
$ docker run -i -t ubuntu /bin/bash
1、当您运行此命令时,会发生以下情况(假定您正在使用默认的注册表配置):
2、如果您ubuntu本地没有镜像,Docker会从您配置的注册表中取出它,就像您docker pull ubuntu手动运行一样。
3、Docker创建一个新的容器,就像你docker create 手动运行一个命令一样。
4、Docker将一个读写文件系统分配给容器,作为它的最后一层。这允许正在运行的容器在其本地文件系统中创建或修改文件和目录。
由于您没有指定任何网络选项,因此Docker会创建一个网络接口来将容器连接到默认网络。这包括分配一个IP地址给容器。默认情况下,容器可以使用主机的网络连接连接到外部网络。
5、Docker启动容器并执行/bin/bash。因为容器是交互式运行的并且连接到你的终端(由于-i和-t)标志,所以你可以使用你的键盘提供输入,输出记录到你的终端。
6、当您键入exit以终止/bin/bash命令时,容器停止但不会被删除。您可以重新启动或删除它。
https://docs.docker.com/engine/docker-overview/#the-docker-platform #docker官方介绍网址