VagrantのTipsあれこれ

2021年4月22日

Vagrantの備忘録です。

Vagrantfileの削除

Vagrantfileをキレイに削除したいな~と思って試してみました。

(1)VagrantのIDを確認

Vagrantfileを作成した際にそれぞれにIDが付加されるので、そのIDを確認します。

次のコマンドを該当フォルダに移動して入力してください。

vagrant global-status

すると次のように表示されます。

id       name    provider   state   directory
-----------------------------------------------------------------
dbff8e2  default virtualbox running C:/.../Vagrant Boxes/centos1
147983c  default virtualbox running C:/.../Vagrant Boxes/centos2
93f52de  default virtualbox running C:/.../Vagrant Boxes/ubuntu1
adcfd95  default virtualbox running C:/.../Vagrant Boxes/ubuntu2
 
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date (use "vagrant global-status --prune" to prune invalid
entries). To interact with any of the machines, you can go to that
directory and run Vagrant, or you can use the ID directly with
Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"

一番左の列がIDになります。

(2)IDを指定して削除

Vagrantfileを削除する為には次のコマンドを入力します。

vagrant destroy 該当ID

次のように聞かれます。

default: Are you sure you want to destroy the 'default' VM? [y/N]

“y"を押下して削除。

(3)確認・削除

削除したIDが本当に削除されているか確認します。

vagrant global-status

削除されていればIDの削除は完了です。

これでVagrantfileが入っているフォルダ毎削除しても大丈夫。


Vagrant Boxの削除

Vagrantfileの削除を行ってVagrant Boxも不要になったら削除しましょう。

Vagrant Box名の確認

まずはVagrant Box名の確認を行います。次のコマンドを入力します。

vagrant box list

Vagrant Box名が次のように表示されます。

bento/ubuntu-18.04 (virtualbox, 201912.14.0)
centos/7           (virtualbox, 1901.01)

一番左に表示されているのがVagrant Box名です。

Vagrant Boxの削除

Vagrant Boxの削除を行います。次のコマンドとVagrant Box名を入力します。

vagrant box remove box名

上の例で言うと、box名は"bento/ubuntu-18.04″や"centos/7″に当たります。

Vagrant Box削除の確認

最後にVagrant Boxの削除の確認を行います。Vagrant Boxの表示コマンドを入力します。

vagrant box list

Vagrant Boxが消えていれば削除完了です。


Vagrant Boxの作成(環境のコピー)

Vagrantで環境を作成した後、Vagrant Boxを作成しておけば再配布するのに便利です。やってみます!

Vagrant Boxの作成手順はこんな感じです。

①VagrantのBox作成
②Boxファイルの追加
③Vagrantfileの作成

それでは順番に見ていきましょう。

①VagrantのBox作成

Vagrant Boxを作成したいフォルダに移動して、次のコマンドを入力します。

vagrant package
コマンド解説

vagrant package vm名 –output 名前の指定.box

VagrantのBoxファイルを作成します。

vm名(オプション) Box作成したいvirtual machineの名前
※virtual machineの名前はコマンド"vagrant status"で確認可
–output 名前の指定.box(オプション) Boxファイルの名前を指定

しばらくすると該当フォルダにBoxファイルが作成されています。

②Boxファイルの追加

Boxファイルを追加したいフォルダにBoxファイルをコピペで移動します。そのフォルダの場所からBoxファイルの追加コマンドを入力します。

vagrant box add 任意のボックス名 Box名.box
コマンド解説

vagrant box add 任意のBox名 作成したBoxファイル名.box

vagrantにBoxを追加します。

※"任意のBox名"はVagrantで管理する名前です。好きな名前を指定します。
※"作成したBoxファイル名.box"には①で作成したBoxファイル名を指定します。

Boxが追加されたか確認しましょう。次のコマンドで確認できます。

vagrant box list

追加したBoxが表示されていれば完成です。

③Vagrantfileの作成

それでは最後に、Vagrantを起動する為にVagrantfileを作成します。次のコマンドを入力します。

vagrant init 追加したBox名

これでVagrantfileが完成しました。フォルダの中身を見て確認してください。
後は適宜Vagrantfileを編集して起動すればコピーした環境が使えるようになります。


Vagrantのフォルダの同期

ホストOSのフォルダとゲストOSのフォルダを同期させる為の設定です。

Vagrantfile内で次のように設定します。

config.vm.synced_folder "ホストOSのフォルダ", "ゲストOSのフォルダ"

config.vm.synced_folder 詳細


vagrant global-statusでidやnameが表示されない時の対処法

該当フォルダに移動して、次のコマンドを入力して下さい。

vagrant destroy

これで一旦仮想マシンが破棄されます。そしてこのコマンドを入力してください。

vagrant up

これで完了です。
もう一度vagrant global-statusを入力して確認してみて下さい。

公式ドキュメントにも書いてた!

Environment Not Showing Up

Vagrant

Posted by Bright_Noah