Я использую рабочий стол linux с ядром 3.2 (Ubuntu 12.04) и хотел бы протестировать его с помощью провайдера / инициализации vagrants 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 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 '' | xargs kill" end
(на самом деле эти файлы из поста в блоге )
Беда в том, когда я делаю
$ vagrant up --provider=docker
Я получаю следующую ошибку:
Подключение компьютера app к провайдеру docker ... Исполняемый файл docker, который пытается запустить Vagrant, не найден в переменной PATH. Это ошибка Пожалуйста, убедитесь, что это программное обеспечение установлено и находится в пути.
Я скорее ожидал, что он запустит экземпляр virtualbox с ./docker/Vagrantfile, образом Precision64, предоставленным для Docker, и что не будет необходимости иметь локально установленный Docker (что невозможно, потому что я на 3.2) ?
Если кто-то может воспроизвести это или заметить очевидную ошибку, я был бы признателен за комментарий или ответ. Спасибо!
Отредактировано : приведенный выше пример немного сложнее, чем нужно, чтобы проверить проблему. Я вообще не могу использовать провайдера докеров, поэтому я подозреваю бродячую ошибку, если здесь явно не что-то не так.
Более простой способ воспроизвести с помощью этого 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.