Vagrant - 既存の仮想環境から box を作成する

 
1. box ?
2. 既存の仮想環境から box を作成する
3. 起動してみる

1. box ?

 参考サイト「Vagrant + VirtualBoxでWindows上に開発環境をサクッと構築する」あたりを読んで、わたしが理解した範囲では、box というのは Vagrant の設定ファイルのようで。  box が「Discover Vagrant Boxes」に公開されていて、自分が作りたい環境がそこにあれば、一から作らなくてもそれを利用することで仮想環境を作成することができるのだそうな・・・。  ただ、わたしの場合、ネットワークの通信を極力おさえたいので、ネットワーク越しにインストールするようなことはしたくないのです。

2. 既存の仮想環境から box を作成する

 わたしが欲しいのが、現在ある仮想環境から設定ファイルを作成するような機能なのですが。  「Vagrant Box をイチから作る!(備忘録)」がぴったりのようなので・・・。  とりあえず、現在ある環境を使って、参考サイトの要領で仮想環境を作成できるかやってみます。
C:¥VMWare¥ほんにゃら
 という箇所にある仮想環境なのですが、日本語が混じっているとおそらくだめであろうと予測できるので・・・。  とりあえず、ほんにゃら を hogehoge に rename しておいて

C:¥VMWare¥hogehoge> vagrant package --base hogehoge
==> hogehoge: VM not created. Moving on...
 う~む、あかん。とりあえず、VMWare の環境は失敗。  後であれこれ読んでいたら、VMWare を使用するには VMWare 用の有償のプラグインが必要らしい。  ViratualBox でやってみます。
H:¥ViratualBox¥Ubuntu MATE 17.10
 という環境があるのでそちらでやってみます。

H:¥VMWare> vagrant package --base "Ubuntu MATE 17.10"
==> Ubuntu MATE 17.10: Exporting VM...
==> Ubuntu MATE 17.10: Compressing package to: H:/VirtualBox/package.box
 オリジナルの VirtualBox のサイズが 8.06GB であるのに対し、package.box は 3.23GB でおよそ半分弱に圧縮されているようです。  こいつを
C:¥vagrant¥Ubuntu MATE 17.10
 配下に持って行って起動できるのかしらん。  持って行って、rename、登録してみます。

C:¥vagrant>COPY H:¥VMWare¥package.box C:¥vagrant¥Ubuntu MATE 17.10¥ubuntu17.10mate.box
C:¥vagrant>vagrant box add -name ubuntu17.10mate "Ubuntu MATE 17.10¥ubuntu17.10mate.box"
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'ubuntu17.10mate' (v0) for provider:
    box: Unpacking necessary files from: file://C:/vagrant/Ubuntu%20MATE%2017.10/ubuntu17.10mate.box
    box: Progress: 100% (Rate: 36.7M/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'ubuntu17.10mate' (v0) for 'virtualbox'!
 できたのかしらん。

C:¥vagrant>vagrant box list
ubuntu17.10mate (virtualbox, 0)
 おおできてるっぽい。

3. 起動してみる

 起動できるのかやってみます。

C:¥vagrant>vagrant init ubuntu17.10mate
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
 あり?  必ず vagrant up するように書いてあったが、必要ないんかな?

C:¥vagrant>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu17.10mate'...
 こうなったまましばらく帰ってこない・・・。  しばらく待つと

==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vagrant_default_1525147859531_6102
Vagrant is currently configured to create VirtualBox synced folders with
the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:

  https://www.virtualbox.org/manual/ch04.html#sharedfolders

This option can be disabled globally with an environment variable:

  VAGRANT_DISABLE_VBOXSYMLINKCREATE=1

or on a per folder basis within the Vagrantfile:

  config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

    default: Warning: Authentication failure. Retrying...
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'unknown' state. Please verify everything is configured
properly and try again.

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.

The primary issue for this error is that the provider you're using
is not properly configured. This is very rarely a Vagrant issue.
 てなことで、エラーで起動できなかったっぽい。  ???。  こういうときに英語文盲はつらいなぁ。

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.
 をわたしなりに解釈すると VirtualBox の GUI を起動しておけよってことなのか?  でまぁ、ViratualBox を起動して

C:¥vagrant>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
 ん?

C:¥vagrant>vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.
 どうも、なんかよくわからない状態で起動しているようなのです。  一度停止して再起動?

C:¥vagrant>vagrant halt
==> default: Attempting graceful shutdown of VM...
    default: Guest communication could not be established! This is usually because
    default: SSH is not running, the authentication information was changed,
    default: or some other networking issue. Vagrant will force halt, if
    default: capable.
==> default: Forcing shutdown of VM...
 なんか止まったようなことを言うておるので止まったのであろう。  再度 vagrant up

C:¥vagrant>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
 どうも果てしなく Retrying... が続きそうなので Ctrl+C して vagrant halt しました。  う~む。うまくいかないなぁ。