理解docker

理解docker

我想确保我在这里正确理解了docker。我的主要目标是将我用Python/Haskell或C++编写的小软件(通常带有完整的源代码)分发给我的朋友和同事。

我自己在一台 Ubuntu 14.04 机器上工作。但是我分发它的人通常使用不同的机器和操作系统,他们没有运行我的代码所需的库。

如果我正确理解了 docker,以下是一个有效的用例吗?

  • 设置一个空的docker文件夹
  • 编写代码并安装该文件夹中的所有库和依赖项。
  • 上传至docker cloud
  • 告诉我的朋友在他的 Windows 机器或 Mac 上下载它并轻松运行代码。

这是对 docker 功能的一个好的总结吗?如果是这样,那真是个好消息,因为它将帮助我使我的研究工作可重复并可在多台机器上分发。

当网上将该软件与虚拟机进行比较时,我不太明白他们的解释。

答案1

您对 docker 的理解比较接近,但不完全理解 docker 的含义;)

Docker 是一个容器旨在将您的应用程序放置在系统上的服务,这样用户唯一需要做的就是下载容器并运行它。Docker 容器旨在使应用程序在所有环境中通用且多功能,并且是将您所需的依赖项全部打包到一个地方的好方法,因此它不会很麻烦。使用 docker 容器,用户可以开发应用程序、打包它并分发到可以运行 docker 守护程序本身的任何平台。

您可以将 docker 视为虚拟机,这是合理的。它可以容纳多个操作系统,根据需要对数据进行分区,那么为什么它不能成为虚拟机呢?答案是因为 docker 的运行位置是在虚拟机管理程序内部。容器提供的只是运行应用程序所需的必要组件,仅此而已。

如果你想分享你的申请,可以通过码头枢纽是您想要遵循的目标。已安装并正在运行 docker 守护程序的用户只需执行 adocker pull IMAGE_NAME和 a即可docker run IMAGE_NAME启动新安装的容器。docker的安装因机器不同而不同因此,是否正确设置取决于最终用户。

这是 docker 的基础;适用于所有性质的应用程序的通用性和版本控制支持。如果你还没有读过,请尝试查看docker 网站了解更多信息!

相关内容