当前位置: 首页 > 面试题库 >

我应该使用Vagrant还是Docker创建隔离的环境?

洪弘壮
2023-03-14
问题内容

我使用Ubuntu进行开发和部署,并且需要创建一个隔离的环境。

我正在考虑为此目的使用Vagrant或Docker。优缺点是什么,或者这些解决方案相比如何?


问题答案:

如果您的目的是隔离,那么我认为Docker是您想要的。

Vagrant是虚拟机经理。它允许您编写虚拟机配置和配置脚本。但是,它仍然是虚拟机,取决于VirtualBox(或其他),具有巨大的开销。它要求您拥有一个巨大的硬盘文件,需要很多内存,并且性能可能不是很好。

另一方面,Docker通过LXC使用内核cgroup和命名空间。这意味着您使用与主机相同的内核和相同的文件系统。您可以将Dockerfile与docker build命令配合使用,以处理容器的配置和配置。您在docs.docker.com上有一个有关如何制作Dockerfile的示例;这是非常直观的。

您可能要使用Vagrant的唯一原因是,如果需要在Ubuntu机器上进行BSD,Windows或其他非Linux开发。否则,选择Docker。



 类似资料:
  • 是否有理由使用启动一个文件,或者您应该只使用? 我知道可以启动一个特定的容器,但我指的是在不指定容器的情况下使用它以启动所有yml容器的情况。

  • 当使用docker和ASP.NET核心进行开发时,我应该使用用户秘密还是环境变量?我使用的是Visual Studio2017在添加项目时创建的默认docker文件,该文件使用Microsoft/ASPNetCore:1.1,我相信是一个linux映像。 我如何在docker中设置User-secrets/Environment变量,使其在启动时设置,但不包含在源代码中?

  • 我已经用docker和docker compose设置了一些环境,因此我有不同的容器和不同的服务,所有这些容器都是由docker-compose编排的,它在我的本地开发环境中运行良好。最近我读了一些关于kubernetes和minikube的文章,但实际上,kubernetes是一个更多用于容器管理的服务器/集群的工具。 问题是,对于本地开发环境(例如php、mysql和apache),我应该使用

  • 早在使用 Docker 之前就听说与其前辈 Vagrant 之前的竞争与替代,但是一直没能够 真正认识到两者之间的区别和优缺点,这次腾出时间使用 Vagrant 终于对它们之间的优缺点 有了更深的认识。 埋头苦干一直不是我的风格,所以在比较 Vagrant 安装、下载期间细细阅读了多篇相关文章, 其中当然少不了 Vagrant 和 Docker 作者在 StackOverflow 上的亲自解惑(中

  • 问题内容: 有没有使用启动文件的理由,还是应该使用? 我了解这可以启动特定的容器,但是我指的是在不指定容器的情况下使用它的情况,这样它就可以启动所有yml容器。 问题答案: 如(2015)中所述 运行传递的命令将覆盖服务配置中定义的命令 。 例如,如果Web服务配置以开头,则用覆盖它。 第二个区别是该命令 不创建服务配置中指定的任何端口 。 这样可以防止端口与已经打开的端口发生冲突。如果确实要创建

  • 问题内容: 我正在使用c / c 为osx和linux开发命令行界面可执行文件。该项目将链接到opencv。我应该使用libc 还是libstdc ++? 问题答案: 我会为每个操作系统使用本机库,即GNU / Linux上的libstdc 和Mac OS X上的libc 。 libc 在GNU / Linux上不是100%完整的,而libstdc 更完整时使用libc并没有真正的优势。另外,如果