я использую рабочий стол linux с ядром 3.2 (Ubuntu 12.04) и хотел бы протестировать использование vagrants docker provider/provisioning.
так я делаю бродячий файл в корне:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "app" do |v|
v.vm.provider "docker" do |d|
d.cmd = ["/sbin/my_init", "--enable-insecure-key"]
d.image = "phusion/baseimage"
d.has_ssh = true
d.vagrant_vagrantfile = "./docker/Vagrantfile"
end
v.ssh.username = "root"
v.ssh.private_key_path = "phusion.key"
end
end
контейнеры vagrantfile (./ docker / Vagrantfile) выглядит так:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "precise64"
config.vm.provision "docker"
config.vm.provision "shell", inline:
"ps aux |grep 'sshd:' | awk '{print }' | xargs kill"
end
(на самом деле эти файлы из в блоге)
беда, когда я делаю
$ vagrant up --provider=docker
я получаю следующее сообщение об ошибке:
приведение машины "приложение" с поставщиком "докер"... Исполняемый файл
'docker' Бродяга пытается бежать не был найден в переменной PATH.
Это является ошибкой. Убедитесь, что данное программное обеспечение установлено и
путь.
Я скорее ожидал, что он запустит экземпляр virtualbox С./docker / Vagrantfile, образ precise64, подготовленный для docker, и что не нужно иметь локально установленное docker (что невозможно, потому что я нахожусь на 3.2)?
если кто-то может воспроизвести это или обнаружить очевидную ошибку, я был бы признателен за комментарий или ответ. Спасибо!
редактировать: приведенный выше пример немного сложнее, чем необходимо, чтобы проверить проблему. Я вообще не могу использовать поставщик docker, поэтому я подозреваю бродячую ошибку, если здесь что-то явно не так.
более простой способ воспроизвести с помощью этого Vagrantfile:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "app" do |v|
v.vm.provider "docker" do |d|
d.cmd = ["/sbin/my_init", "--enable-insecure-key"]
d.image = "phusion/baseimage"
d.has_ssh = true
end
v.ssh.username = "root"
v.ssh.private_key_path = "phusion.key"
end
end
когда я пытаюсь использовать его:
$ uname -a
Linux ubuntu1204 3.2.0-64-generic #97-Ubuntu SMP Wed Jun 4 22:04:21 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ vagrant up --provider=docker
Bringing machine 'app' up with 'docker' provider...
The executable 'docker' Vagrant is trying to run was not
found in the PATH variable. This is an error. Please verify
this software is installed and on the path.