Vagrantで起動した仮想マシンにscpでファイルを転送する

vagrant-logo-3 vagrant
vagrant-logo-3

やること

Vagrantで起動した仮想マシンにファイルを転送します。vagrant-scpというプラグインで実現できました。

動作環境

  • ubuntu 22.04
  • vagrant 2.2.19
  • vagrant-scp 0.5.9

vagrant-scpのインストール

まず、プラグインをインストールしましょう。vagrant plugin installコマンドでvagrant-scpをインストールします。

$ vagrant plugin install vagrant-scp

次にvagrant plugin listコマンドを実行してvagrant-scpがインストールできたか確認できます。下の例ではversion 0.5.9のvagrant-scpがインストールできています。

$ vagrant plugin list
vagrant-scp (0.5.9, global)

vagrant scp

vagrant scpコマンドが使えるようになりました。ローカルから仮想マシンにファイルを転送する場合の書式はvagrant scp <local_path> [vm_name]:<remote_path>です。仮想マシンからローカルにファイルを転送する場合の書式はvagrant scp [vm_name]:<remote_path> <local_path>です。

$ vagrant scp
Usage: vagrant scp <local_path> [vm_name]:<remote_path> 
       vagrant scp [vm_name]:<remote_path> <local_path> 
Directories will be copied recursively.

Options:

        --[no-]color                 Enable or disable color output
        --machine-readable           Enable machine readable output
    -v, --version                    Display Vagrant version
        --debug                      Enable debug output
        --timestamp                  Enable timestamps on log output
        --debug-timestamp            Enable debug output with timestamps
        --no-tty                     Enable non-interactive output
    -h, --help                       Print this help

ファイルの転送

ここではローカルから仮想マシンにファイルを転送します。

仮想マシン名の確認

まず、vagrant statusコマンドでファイルを転送したい仮想マシン名を確認します。下の例ではdefaultが仮想マシン名です。

$ vagrant status
Current machine states:

default                   running (libvirt)

ファイルの転送

例えば、転送したいファイルをvagrant.mdとします。さらに、転送先を/home/vagrantとします。そして、vagrat upコマンドを実行します。そうすれば、ローカルから仮想マシンにファイルを転送することができます。

$ vagrant scp vagrant.md default:/home/vagrant

コメント