Docker是什么?
本篇文章的概要
这篇文章是我作为Docker初学者总结的关于Docker概述的文章。
在学习过程中,我参考了以下的书籍。
Docker/Kubernetes 实践容器开发入门
从容器技术的概念到简易的Web应用构建等实践性内容都被包括在内。此外,书中还记载了关于Docker和Kubernetes的设计和运营要点,是一本学习很有用的书籍。
本文可知
-
- コンテナ技術の概要
- Dockerとはなにか
容器技术的概述
在介绍Docker之前,首先要解释一下什么是容器。
容器是虚拟化技术的一种。除容器外,还有主机操作系统类型(如Virtual Box)和超级监视器(如ESXi)类型的虚拟化技术。
这是用图表表示的样子。
容器类型
主机操作系统型
超级虚拟机
在容器化容器中,可以将操作系统的资源隔离开来并创建虚拟操作系统,而无需虚拟化软件。这个虚拟操作系统被称为容器。
与其他虚拟化软件相比,创建容器的开销较少,因此可以快速启动和终止,并且所需的机器资源也较少。
容器技术的历史
在Docker崛起之前,容器技术自身就已经存在。在Docker出现之前,LXC(Linux容器)非常有名。
与LXC相比,Docker具有以下特点。
-
- ホストに左右されない実行環境(Docker Enginによる実行環境の標準化)
-
- DSL(Dockerfile)によるコンテナの構成やアプリケーションの配置定義
-
- イメージのバージョン管理
-
- 差分ビルドが可能
- Dockerレジストリ(イメージ保管サーバのようなもの)
在Docker中,可以通过Dockerfile来用代码管理容器信息。因此,它具有易于保持环境可重复性的特点。此外,在Docker之前,应用程序需要部署到主机操作系统或者虚拟机上,导致对部署环境(操作系统)的依赖性很高。然而,在Docker中,可以将执行环境打包部署,解决了依赖问题。
Docker是什么东西?
这是一个用于开发、移动和执行应用程序的平台。
它将应用程序从基础设施中分离出来,使基础设施能够像处理应用程序一样进行处理。
具体而言,通过名为Dockerfile的文件,可以使用代码来描述和管理容器的环境设置。
Docker引擎是什么?
Docker Engine是一种用于管理容器的机制。更详细地说,它是一个由三个组件构成的客户端/服务器应用程序,包括Docker客户端、Docker守护进程和REST API。
Docker的工作原理是什么?
通过docker客户端和docker守护进程进行通信来运行,让我们更详细地看看。
为了构建容器,需要一个称为镜像的模板。例如,在Ubuntu上安装Apache并构建Web服务器。为此,需要从称为注册表的镜像存储服务器下载所需的Ubuntu和Apache镜像,然后构建容器。
如果需要一个私有环境的注册表,可以考虑使用Docker Registry。 作为一个公共注册表,Docker Hub存在着各种各样的镜像。