📜  学习Docker教程

📅  最后修改于: 2020-12-31 14:26:52             🧑  作者: Mango

Docker教程

Docker Tutorial提供了Docker的基本和高级概念。我们的Docker教程专为初学者和专业人士设计。

Docker是用于打包,部署和运行应用程序的集中式平台。在使用Docker之前,许多用户面临着这样的问题:特定代码正在开发人员系统中运行,而不是在用户系统中运行。因此,开发docker的主要原因是帮助开发人员轻松开发应用程序,将其运送到容器中,并可以部署在任何地方。

Docker于2013年3月首次发布。它在软件开发生命周期的“部署”阶段使用,这就是为什么它可以有效解决与应用程序部署相关的问题的原因。

什么是Docker?

Docker是一个开放源代码的集中式平台,旨在创建,部署和运行应用程序。 Docker使用主机操作系统上的容器来运行应用程序。它允许应用程序使用与主机计算机上的系统相同的Linux内核,而不用创建整个虚拟操作系统。容器可确保我们的应用程序可在开发,测试或生产等任何环境中正常工作。

Docker包括Docker客户端,Docker服务器,Docker机器,Docker集线器,Docker组合等组件。

让我们了解Docker容器和虚拟机。

Docker容器

Docker容器是虚拟机的轻量级替代品。它允许开发人员将应用程序及其所有库和依赖项打包在一起,并将其作为单个程序包进行交付。使用Docker容器的优点是您无需为应用程序分配任何RAM和磁盘空间。它会根据应用程序需求自动生成存储空间。

虚拟机

虚拟机是一种软件,它使我们可以在计算机上同时安装和使用其他操作系统(Windows,Linux和Debian)。运行虚拟机的操作系统称为虚拟化操作系统。这些虚拟化的操作系统可以运行程序并执行我们在实际操作系统中执行的任务。

容器与虚拟机

Containers Virtual Machine
Integration in a container is faster and cheap. Integration in virtual is slow and costly.
No wastage of memory. Wastage of memory.
It uses the same kernel, but different distribution. It uses multiple independent operating systems.

为什么选择Docker?

Docker旨在使开发人员和系统管理员受益。使用Docker的原因如下-

  • Docker使我们能够轻松安装和运行软件,而无需担心设置或依赖项。
  • 开发人员使用Docker消除了机器问题,即“但代码可以在我的笔记本电脑上工作”。与同事一起编写代码时。
  • 运营商使用Docker在隔离的容器中运行和管理应用程序,以提高计算密度。
  • 企业使用Docker安全地构建了敏捷的软件交付管道,以更快,更安全地发布新的应用程序功能。
  • 由于docker不仅用于部署,而且还是一个很好的开发平台,所以这就是我们可以有效提高客户满意度的原因。

Docker的优势

Docker具有以下优点-

  • 它在几秒钟而不是几分钟内运行容器。
  • 它使用较少的内存。
  • 它提供了轻量级的虚拟化。
  • 不需要完整的操作系统即可运行应用程序。
  • 它使用应用程序依赖项来降低风险。
  • Docker允许您使用远程存储库与他人共享您的容器。
  • 它提供了连续的部署和测试环境。

Docker的缺点

Docker有以下缺点-

  • 由于增加了一层,增加了复杂性。
  • 在Docker中,很难管理大量容器。
  • Docker自带的一些功能,例如容器自注册,容器自检,将文件从主机复制到容器,等等。
  • 对于需要丰富图形界面的应用程序,Docker并不是一个好的解决方案。
  • Docker提供了跨平台兼容性,这意味着如果应用程序旨在在Windows上的Docker容器中运行,那么它就不能在Linux上运行,反之亦然。

Docker引擎

它是一个客户端服务器应用程序,包含以下主要组件。

  • 服务器是一种称为守护进程的长期运行程序。
  • REST API用于指定程序可以用来与守护程序进行对话并指示其操作的接口。
  • 命令行界面客户端。

先决条件

在学习Docker之前,您必须具有Linux的基本知识以及Java,php, Python,ruby等编程语言。

听众

我们的Docker教程旨在帮助初学者和专业人士。

问题

我们保证您在学习Docker教程时不会遇到任何困难。但是,如果有任何错误,请将问题张贴在联系表中。