我应该创建一个虚拟机,然后在虚拟机内部使用Docker机器进行开发

问题描述:

为了解决使用不同操作系统(Windows,OS X和Linux)的不同开发人员的问题,是否有意义创建定制的VirtualBox映像并在定制虚拟机中安装Docker Machine(我知道创建另一个虚拟机)?我应该创建一个虚拟机,然后在虚拟机内部使用Docker机器进行开发

我知道Docker Machine的目的是促进本地和生产环境的发展。更重要的是,它创建了一个虚拟机。因此,在另一个虚拟机中安装Docker Machine似乎没有多大意义。

但是,为了保证所有开发人员实际上都经历了完全相同的本地环境。看起来有一个定制的虚拟机(与流浪者)来自动完成包括Docker Machine在内的所有安装过程。

那么,请让我知道什么是最佳做法?

  1. Vagrant CentOS机器,并自动化安装Docker机器的过程。使用Docker机器创建Docker容器。
  2. 让开发人员安装他们自己的Docker机器。使用Docker机器创建Docker容器。
  3. Vagrant CentOS机器并安装Docker Engine而不是安装Docker Machine。使用Docker引擎来创建Docker容器。
+2

Docker Machine适用于Windows和OS X.对于CentOS VM,您应该(并且只能)直接使用Docker引擎。如果你希望每个人都拥有完全相同的环境,我认为3号线可能是最好的路线。 –

+1

方法1没有意义,2和3是有效的选项。下面也看到我的评论。 –

不要忘记“安装码头机”实际上只是从docker-machine releases下载一个文件。不需要流浪者。

docker-machine在Linux/CentOS环境中只有在需要将容器从该服务器部署到远程云环境(AWS,Azure,...)时才有意义。正如评论所言,Vagrant只会帮助安装docker itseld。

+2

我认为原始问题的主要观点是,有些开发人员只使用Linux作为其主机/通常的开发操作系统,而另一些开发人员则使用Windows和Mac。 CentOS只是让所有人都能共同使用的选择。否则一些开发人员需要码头机,而另一些则不需要。你说得对,CentOS上的docker-machine与方法(1)中描述的OP没有太大关系,但直接在CentOS中运行docker使所有用户不使用docker机器。我认为这是OP的真正想法(如方法(3)而不是(1)所述)。 –

+0

@MathiasConradt好点。我会等待OP的反馈,以更多地了解这个问题的具体情况。 – VonC

+0

谢谢,vonC和@Mathias。的确,目的是不同操作系统上的开发人员可以拥有完全相同的体验。 更具体地说,我希望所有开发人员只运行 'vagrant up --provision',并且他们已准备好编写代码,而不用担心他们在哪个环境中。另外,我最终希望将代码部署到远程云环境。 – user2868104