我可以使用Docker Compose直接configurationVagrant吗?
我有一个Vagrant文件,它只启动一个基本的Ubuntu服务器,然后依靠一个shell脚本来进行configuration。 而这个shell脚本只是关于安装Docker和Docker Compose来设置我有的各种容器。
使用shell脚本来做到这一点是否合理? 还是有办法告诉Vagrant直接configurationDocker Compose? 我不知道Vagrant中现有的Dockerconfiguration器有多不同。
最近我提出了同样的问题,我创build了一个安装docker-compose的stream浪租客插件,并提出了使用它的docker。 要使用它:
- 安装插件:
vagrant plugin install vagrant-docker-compose
-
将以下行添加到您的Vagrant文件中。
config.vm.provision :docker config.vm.provision :docker_compose, yml: "/vagrant/docker-compose.yml", rebuild: true, run: "always"
有关完整的示例,请参阅https://github.com/leighmcculloch/vagrant-docker-compose
看来,从stream浪汉1.7.2开始,并没有通过Docker Provisioner直接支持这种操作。 提供者也没有提到它。 stream浪文档:Docker供应 , stream浪文档:Docker命令
我的猜测是这个版本的Vagrant维护者在与Docker提供者一起使用时感觉到Vagrantfile提供了类似的行为。 这也许可以解释为什么在用Docker Composereplace之前,他们没有冒险添加对Fig的直接支持。
我发现使用Docker with Vagrant需要你find使用你自己find最合适的工具的正确组合。 例如,您可能会发现使用Docker文件和Docker命令(如docker)比尝试将该逻辑实现到Vagrantfile中更直观。 另外,你可以尝试一个Dockerfiles的混合体,并使用Vagrant来引用Dockerfiles,Dockerfile会为你提供Dockerfile中的Docker逻辑,而使用正常的Vagrantfile构build“编排”。
这可能是这样的:
-
使用非常简单的Vagrant Docker提供程序configuration,依赖于
Dockerfile
的一切使用
d.build_dir = "."
引用一个Dockerfile
-
使用Vagrant中的Dockerconfiguration程序来启动一切
vagrant up --provision-with docker
- 等效于Docker Compose v3中的volumes_from
- 如何在独立Jenkins中使用docker命令运行jenkinspipe道作业
- 为什么Linux不在PATH环境下的所有目录中查找命令?
- 通过fabric8io docker-maven-plugin将一个.war部署到一个Docker镜像中
- 电子在docker与X11转发 – 没有协议指定
- 我如何分配足够的内存运行Object.stringify没有内存/ RangeError
- 从registry中提取的泊坞窗图像从哪里存储在本地?
- 从docker到主机的组播
- 如何指定哪些容器启动,不要在docker-compose中启动? (docker运行与docker创build)