Vagrant: Копирование Файлов между Хостом и VM — Vagrant SCP

Очень распространенная ситуация, когда вам нужно выполнить одноразовую операцию копирования какого-либо файла или каталога между Vagrant-хостом и гостевой виртуальной машиной, и вы не хотите тратить время на монтирование общих папок или традиционного provisioning с помощью встроенного file provisioner или какого-либо инструмента управления конфигурациями.

В данной статье я привожу самый простой способ копирования файлов и папок между Vagrant-хостом и гостевой виртуальной машиной, используя плагин vagrant-scp.

Дельный Совет: Vagrant — Простое Руководство для Начинающих! Читать Далее →

Копирование Файлов между Vagrant-хостом и VM

vagrant-scp требует vagrant-vbguest, поэтому первым делом необходимо установить зависимость, в противном случае вы можете получить следующую ошибку:

Unable to resolve dependency: user requested ‘vagrant-vbguest (= 0.15.1)’

Установить vagrant-vbguest и vagrant-scp:

$ vagrant plugin install vagrant-vbguest
$ vagrant plugin install vagrant-scp

Чтобы копировать файлы или директории между Vagrant-хостом и гостевой виртуальной машиной, вам нужно знать id или name гостевой виртуальной машины.

Эту информацию можно найти в выводе следующей команды:

$ vagrant global-status

Скопировать файл или директория с Vagrant-хоста в гостевую виртуальную машину:

$ vagrant scp <some_local_file_or_dir> <vm_name>:<some_path_on_vm>

Скопировать файл или директория из гостевой виртуальной машины на Vagrant-хост:

$ vagrant scp <vm_name>:<some_file_or_dir_on_vm> <some_local_path>