我了解Ansible是一种配置管理(CM)工具,用于通过为此软件创建的特殊YAML格式来编排,部署(和不断升级)软件和配置,并且可以通过本地执行的Ansible在本地计算机上执行Ansible操作或针对一台或多台机器的远程操作,方法是在Ansible存储文件中列出Ansible剧本的IP地址,然后执行存储和关联的剧本(无需在一台或多台远程计算机上安装Ansible)。

我还了解到,像Docker这样的操作系统级虚拟化(“容器化”)软件(也使用独特格式的YAML)使我们能够从中“复制”“冻结的,刚刚烘烤的”数据容器一台计算机与一台或多台其他计算机具有经过预处理的数据,并且可以根据特定的需求进行较小的更改,以节省一次又一次地在容器中重复创建该数据的时间。

有时当我读ab不论是Ansible还是Docker,我都提到过Vagrant,这是另一种软件。

我理解Vagrant是我可以称之为“全级别虚拟化”(操作系统,可能还有一些堆栈)但是,我不确定这是否正确。

Vagrant与这两个原则上有何不同(还有“ Vagrant box”一词使我想知道Vagrant是否是实际的Docker的“竞争对手”,是吗?)

评论

流浪者对Docker就像虚拟机对容器一样

#1 楼

Vagrant可以补充Ansible和Docker。它用于旋转安装Docker的虚拟机并测试Ansible剧本。您可以使用Vagrantfile描述所需的VM配置,然后使用vagrant up命令生成它们。然后,Vagrant软件下载共享盒之一(VM模板,如裸ubuntu或centos,或预装软件,如laravel),并对其进行配置(执行安装说明)。有几种配置程序,例如简单shell或Ansible。

可能的情况之一:您想在mysql:5.7.24Docker 18.06.1-ce内测试Ubuntu 18.04映像。因此,您可以:


用Vagrant旋转ubuntu/bionic64
用Ansible剧本提供它,以安装Docker 18.06.1-ce

基于mysql:5.7.24镜像启动Docker容器