Docker教程

时间:2020-01-09 10:34:24  来源:igfitidea点击:

Docker是使用称为Dockerfile的简单打包规范将应用程序和服务器配置打包为Docker镜像的简单方法。然后,可以在任意多个实例中启动Docker镜像。 Docker镜像的每个运行实例都称为Docker容器。该Docker教程介绍了Docker镜像,容器和Dockerfile是什么,如何创建,运行和发布它们以及更多内容。

Docker的好处

使用Dockerfile打包应用程序及其服务器配置的最大好处是:

  • 我们不会忘记服务器的配置方式。 Dockerfile会为我们记住这一点。
  • 我们可以轻松地在新的Docker主机上运行应用程序。只需将应用程序的Docker镜像部署到该Docker主机,然后启动它。都是自动化的。
  • Kubernetes和Docker Swarm等集群工具可以轻松为我们管理集群中的Docker容器。
  • 许多云平台都可以轻松部署Docker容器。因此,Docker是一种变得更加独立于云的简单方法。
  • Docker容器是客户将自己的应用程序安装在自己的服务器上的一种简便方法。

什么是Docker容器?

Linux操作系统具有若干功能,这些功能允许容器化运行在操作系统(OS)之上的应用程序。这些容器化功能提供了将文件系统和容器化应用程序网络分开的功能。换句话说,除非明确允许,否则一个容器化应用程序无法访问另一个容器化应用程序的文件系统或者网络。 Docker使用这些Linux容器化功能,并通过一组易于使用的工具将其公开。

Docker容器与虚拟机

Docker容器本质上类似于虚拟机。但是,虚拟机在总堆栈中有一个额外的OS。虚拟机具有VM OS,然后该VM在也具有自己的OS的某些计算机上运行。

另一方面,Docker容器没有自己的内部操作系统。该容器直接在主机Linux OS内部运行。因此,Docker容器的大小较小,因为它不包含整个VM OS。 Docker容器的性能也更好,因为不需要虚拟化虚拟机。

Docker文件

如前所述,我们可以通过特殊文件指定包含在Docker容器中的内容,该文件通常称为Dockerfile。 Dockerfile包含一组Docker指令,这些指令由Docker命令行工具执行。结果是一个Docker镜像。 Dockerfile教程中对Dockerfile进行了更详细的说明。

Docker镜像

当Docker命令行工具在Dockerfile中执行指令时,命令行工具会生成Docker镜像。 Docker镜像是Docker容器的可移植,可执行配方。 Docker镜像包含所有需要的文件和运行相应Docker容器的说明。可以从同一Docker镜像启动多个Docker容器。

Docker注册表

Docker镜像可以存储在Docker Registry中。 Docker Registry是一个Docker镜像存储库,可以其中下载Docker镜像,也可以从中下载Docker镜像。 Docker Registry可以是私有的(仅适用于我们,组织或者我们授予访问权限的其他人),也可以是公共的(意味着任何人都可以访问它,或者至少从中下载Docker镜像)。

公开的Docker注册表是允许软件潜在用户下载,安装和运行软件的好方法。只需将应用程序打包为Docker镜像,然后将其上传到公共Docker Registry,用户就可以访问它。

Docker公司已将Docker Registries作为服务托管。他们有公共和私有Docker注册表可用。一些云服务(例如AWS,Azure和Google)也具有Docker注册表,我们也可以使用Docker注册表上传Docker镜像,以便轻松部署到其云基础架构上的虚拟机或者Kubernetes集群上。

Docker命令行工具

在计算机上安装Docker时,Docker会附带Docker命令行工具。 Docker命令行工具可以从Dockerfile构建Docker镜像,将Docker镜像上传到远程Docker注册表,从远程Docker注册表下载Docker镜像以及从Docker镜像启动和停止Docker容器。

Docker Compose

Docker Compose功能使我们可以将多个Docker容器"链接"到一个"组合"中,可以立即安装/部署和启动所有组合。例如,一个应用程序位于一个Docker容器中,而数据库位于另一个Docker容器中,以防两个Docker容器对于应用程序的运行都是必需的。