不能在Vagrant上使用版本2的docker-compose文件

我有一个莫名其妙的问题。

我无法在stream浪客上使用docker-compose版本2文件。 (如果主机是15.10 ubuntu)。

我得到以下错误: Docker引擎是小于Compose所需的最小值。 您当前的项目需要1.10.0或更高版本的Docker引擎

我使用的stream行文件如下:

# -*- mode: ruby -*- # vi: set ft=ruby : # SET THE IP ADDRESS AND BRIDGE SELECTION TO MATCH YOUR NETWORK # unless Vagrant.has_plugin?("vagrant-docker-compose") system("vagrant plugin install vagrant-docker-compose") system("vagrant plugin install vagrant-vbguest") puts "Dependencies installed, please try the command again." exit end VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.synced_folder "./web", "/var/www", create: true, group: "www-data", owner: "www-data" config.vm.provision :shell, path: "./provision/setup.sh" config.vm.provision "shell", inline: "ps aux | grep 'sshd:' | awk '{print $2}' | xargs kill" config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" # Assign a name to your host VM config.vm.hostname = "docker" # Use the phusion ubuntu box for our host VM config.vm.box = "phusion/ubuntu-14.04-amd64" # Run scripts to place web, docker and repo files config.vm.provision :shell, path: "./provision/public_gitrepos_to_vagrant_dir.sh" # Forward port 8080 to host machine config.vm.network "forwarded_port", guest: 80, host: 8081 config.vm.network "forwarded_port", guest: 443, host: 8082 config.vm.network "forwarded_port", guest: 8000, host:8000 #network config.vm.network "public_network", ip: "192.168.0.60" # Sync your project in the /vagrant directory inside the VM config.vm.synced_folder ".", "/vagrant" config.vm.provision :docker config.vm.provision :docker_compose, yml: "/vagrant/docker/docker-compose.yml", rebuild: true, run: "always" config.vm.provision :shell, path: "./provision/dockerstart.sh" end 

Docker-compose可以正常使用V1版本的YAML文件,但给了我警告,并且V2失败。 V2在主机上工作正常,只有在Vagrant上我有这个问题。

如何获得一个V2 docker-compose文件来与Vagrant一​​起工作? 我只是想念一些东西,或者是一个更大的问题?

问题

老docker版本

在该Vagrant VM上运行的Docker安装已过时并已过时。 根据您所看到的错误,它比Docker Compose v2所需的最低1.10.0更早。

我得到以下错误:Docker引擎是小于Compose所需的最小值。 您当前的项目需要1.10.0或更高版本的Docker引擎

这里是你下载的盒子的来源:

https://oss-binaries.phusionpassenger.com/vagrant/boxes/

就在Phusion页面上,通过“Prebuilt boxes”链接到上面的链接。 从20145月上次更新的date可以看出,Docker时间永远是最新的。

根据Docker Compose文档: https : //docs.docker.com/compose/compose-file/#/version-2

版本2文件由Compose 1.6.0+支持,并且需要版本1.10.0以上的Docker引擎。

解决scheme

Ubuntu主机上的本机Docker

当你在主机上运行Ubuntu时,你可以直接运行本地的Docker。 与虚拟机相比,使用起来更快更简单。

在Ubuntu上安装: https : //docs.docker.com/engine/installation/linux/ubuntulinux/

stream浪docker提供商

如果您的需求是在Vagrant中运行的,您可以使用Vagrant内置的Docker提供程序进行pipe理,而不需要VM / VBox: https : //www.vagrantup.com/docs/docker/boxes.html

Docker提供者不需要Vagrant框。 config.vm.box设置是完全可选的。

注意:您需要在Ubuntu主机上安装Docker。