我有一个Vagrant文件,它只显示一个基本的Ubuntu服务器,然后依赖shell脚本来进行配置.这个shell脚本只是安装Docker和Docker Compose来设置我拥有的各种容器.
使用shell脚本执行此操作是否有意义?或者有没有办法告诉Vagrant直接使用Docker Compose进行配置?我不知道与Vagrant中现有的Docker配置器有多么不同.
Lei*_*och 42
我最近提出了同样的问题,我创建了一个vagrant配置器插件,用于安装docker-compose并使用它来启动docker.要使用它:
vagrant plugin install vagrant-docker-compose将以下行添加到您的Vagrantfile.
config.vm.provision :docker
config.vm.provision :docker_compose, yml: "/vagrant/docker-compose.yml", rebuild: true, run: "always"
Run Code Online (Sandbox Code Playgroud)有关完整示例,请参阅https://github.com/leighmcculloch/vagrant-docker-compose
Pad*_*dge 10
看来,就流浪者1.7.2而言,没有通过Docker Provisioner直接支持进行这种类型的操作.提供商也没有提及它.Vagrant docs:Docker配置,Vagrant docs:Docker命令
我的猜测是Vagrant维护者在此版本中感觉Vagrantfile与Docker提供程序一起使用时会提供类似的行为.这可以解释为什么在用Docker Compose替换之前他们没有冒险添加对Fig的直接支持.
我发现使用Docker和Vagrant要求您找到使用您认为最适合自己的每个工具的正确组合.例如,您可能会发现使用Dockerfiles和Docker命令(如docker compose)比尝试将该逻辑实现到Vagrantfile更直观.或者,您可以尝试混合Dockerfiles并使用Vagrant引用Dockerfiles,它使用正常的Vagrantfile为您提供Dockerfile中的Docker逻辑和构建"orchestration".
这可能是这样的:
使用非常简单的Vagrant Docker提供程序配置,依赖于Dockerfile其他一切
使用d.build_dir = "."引用一个Dockerfile
在Vagrant中使用Docker配置器来启动所有内容
vagrant up --provision-with docker
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
10600 次 |
| 最近记录: |