backport

技術ネタと野球とときどき雑談

VagrantでCentOS7の仮想環境を作る@Windows7

2016/09/02
development Vagrant

VagrantでCentOS7の仮想環境を作るメモ。

事前準備としてVirtualBoxとVagrantをインストールしておきます。今回のバージョンはVirtualBoxが5.1.4、Vagrantが1.8.5です。 どちらもWindows用のインストーラがあるのでそれを使えばOK。

CentOS 7はVagrant用のオフィシャルイメージがAtlasに登録されているのでこれを使います。

まずはbox addコマンドでboxを追加。途中でproviderを聞かれるので2のvirtualboxを選びましょう。boxのダウンロードは結構時間がかかるので気長に待ちます。

E:\>cd vagrant

E:\vagrant>vagrant -v
Vagrant 1.8.5

E:\vagrant>vagrant box add centos/7
==> box: Loading metadata for box 'centos/7'
    box: URL: https://atlas.hashicorp.com/centos/7
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) libvirt
2) virtualbox

Enter your choice: 2
==> box: Adding box 'centos/7' (v1607.01) for provider: virtualbox
    box: Downloading: https://atlas.hashicorp.com/centos/boxes/7/versions/1607.0
1/providers/virtualbox.box
    box: Progress: 100% (Rate: 1034k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'centos/7' (v1607.01) for 'virtualbox'!

E:\vagrant>vagrant box list
centos/7               (virtualbox, 1607.01)

E:\vagrant>

VirtualBox Guest Additionsを入れておきます。

E:\vagrant>vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Installed the plugin 'vagrant-vbguest (0.13.0)'!

E:\vagrant>

boxが用意できたので次に進みましょう。workdirというディレクトリを作ってその中にVagrantfileを作ります。

E:\vagrant>mkdir workdir

E:\vagrant>cd workdir

E:\vagrant\workdir>

E:\vagrant\workdir>vagrant init centos/7
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.

E:\vagrant\workdir>dir /B
Vagrantfile

E:\vagrant\workdir>

ここからハマりどころがいくつか。

このまま起動しようとするとrsyncがない!と怒られるのでVagrantfileを編集しましょう。 コメントアウトされている行の下に1行追記してconfig.vm.synced_folderを明示的に指定します。

  # config.vm.synced_folder "../data", "/vagrant_data"
  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

Vargant 1.8.5はバグがあるので、以下の情報を参考にモンキーパッチを当てておきます。

57d56
<               chmod 0600 ~/.ssh/authorized_keys

ここまで来たら念のため起動確認。

E:\vagrant\workdir>vagrant up
【中略】

E:\vagrant\workdir>

PoderosaなりTera TermなりでSSHログインしてみましょう。

  • Host: 127.0.0.1
  • Port: 2222
  • Username: vagrant
  • Private key: E:/vagrant/workdir/.vagrant/machines/default/virtualbox/private_key

これで仮想環境が起動するようになりました。

一通り作業が終わってから気付いたんですが、ハマりどころの大半はVirtualBox 5.1.4とVagrant 1.8.5でcentos/7がvagrant upできた~ - また旅で言及されましたね。先人は偉大だ...



コメント欄を表示する