我遇到了一个令人困惑的问题。
我不能在流浪客人身上使用docker-compose版本2文件。 (如果重要的是主持人是15.10 ubuntu)。
我收到以下错误: Docker Engine低于Compose所需的最低要求。您当前的项目需要版本为1.10.0或更高版本的Docker Engine
我使用的Vagrantfile如下:
# -*- 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一起使用?我只是遗漏了什么,或者这是一个更大的问题?
答案 0 :(得分:2)
在该Vagrant VM上运行的Docker安装已过时且已过时。根据您看到的错误,它早于Docker Compose v2所需的最小1.10.0
。
我收到以下错误:Docker Engine低于Compose所需的最小值。您当前的项目需要版本为1.10.0或更高版本的Docker Engine
以下是您下载的框的来源:
https://oss-binaries.phusionpassenger.com/vagrant/boxes/
在Phusion page之后,通过“预建箱”链接到上面的链接。您可以在 2014年5月中查看他们上次更新的日期,这是Docker时间中永远存在的日期。
根据Docker Compose文档: https://docs.docker.com/compose/compose-file/#/version-2
Compose 1.6.0+支持版本2文件,并且需要版本为1.10.0 +的Docker Engine。
当您在主机上运行Ubuntu时,您可以直接运行本机Docker。使用它比在VM中更快更简单。
在Ubuntu上安装:https://docs.docker.com/engine/installation/linux/ubuntulinux/
如果您的要求是在Vagrant中运行,您可以使用Vagrant的内置Docker提供程序来管理它,而不使用VM / VBox: https://www.vagrantup.com/docs/docker/boxes.html
Docker提供程序不需要Vagrant框。 config.vm.box设置是完全可选的。
注意:为此,您需要在Ubuntu主机上安装Docker。