Vagrant和Docker与微服务

4
我有一组微服务,我想使用Docker自动化和标准化部署。我一直在阅读关于Vagrant的内容,并对使用Vagrant设置环境有一些问题。
1. 我了解到Vagrant用于设置VM,Docker用于创建容器。在VM内运行Docker容器的好处是什么?难道这不是矛盾的吗?
2. Vagrant和Docker之间的交互是如何进行的?我使用Vagrant创建的VM是否包含Docker运行环境?

链接可能有用:https://dev59.com/9mQo5IYBdhLWcg3wdPAa - Ahmet Karakaya
那只是个尝试去解释Docker是什么。但是它仍然没有回答我的第一个问题! - joesan
1
如果你在Mac或Windows上安装Docker,则是通过Boot2Docker实现的。 Boot2Docker是VM内部的Docker。 Docker目前仅支持Linux技术,从技术上讲,Docker是Linux系统上的守护进程。因此,您需要安装了Docker守护程序的Linux机器或VM才能使用Docker。您可以使用Vagrant自动化VM提供和最新的Docker版本安装。或者你可以使用docker-machine创建这样的机器。 Vagrant的优点是它支持比docker-machine更多的provisoners / virtualisations。 - blacklabelops
1个回答

5

第一个问题的答案:

Vagrant是一种快速在本地机器上设置基于Docker容器的方法。要运行Docker容器,您需要Linux内核,您可以通过在物理机器上运行容器来提供它。但是拥有Vagrant提供的虚拟机并运行容器将具有以下好处:

  1. 您可以随时安全地删除容器。
  2. 您可以通过Vagrant脚本自动化所有Docker命令。

第二个问题的答案:

Vagrant直接与Docker容器通信。VM上的每个Docker容器都有自己的IP和空间。您可以根据自己的机器需求修改Vagrant文件以进行端口转发。

希望对您有所帮助。


没关系,sparkr :) .. 我只是不明白为什么有些人会毫无解释地行动。 - Sam
是的,即使我也因为一些问题而被 down vote 过。只要有人在寻求直接解决方案,对一个问题进行 down vote 是可以的,但是对于我提出的所有问题,我都会附上一些代码,这些代码要么不起作用,要么我的理解是错误的。无论如何,这就是世界的本质!我已经给了我的 up vote! - joesan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接