Vagrant 2:仮想マシン使用プロセス(Ubuntu 16.04)
4255 ワード
* Windows 10 , 1703, OS 15063.413, 64
* Oracle VirtualBox 5.1.22
* vagrant 1.9.5
* Ubuntu 16.04
* Git Bash (git version 2.13.0.windows.1)
0.主な流れ
Vagrantが仮想マシンを操作するプロセスは主に次のとおりです.
1.vagrant initの初期化
まず、新しいディレクトリを作成し、そのディレクトリでvagrantの初期化を行う必要があります.以降,このディレクトリは仮想マシンと共有するディレクトリとして,自機でプログラミング操作などを行い,仮想マシン環境で実行することが効果的である.
具体的な操作:bentoディレクトリを新規作成し(ディレクトリ名を任意に取得)、そのディレクトリに入るとします.
$ mkdir bento
$ cd bento
bentoディレクトリの下でvagrant初期化(initialize)を行います.
$ vagrant init
初期化の結果、このディレクトリでVagrantfileが得られます.
2.Vagrantfileの変更
virtual box、すなわちvagrant仮想マシンボックスをvagrantのboxリストに追加してから、この仮想マシンを使用する必要があります.
ボックスのあるディレクトリの下で次のコマンドを実行します.そのうち
vagrant box add
はボックスをboxリストに入れることを示し、$ vagrant box add mybento mybento_ubuntu1604.box
参加後box listを表示して仮想マシンボックスの成功を確認できます
$ vagrant box list
mybento (virtualbox, 0)
Sublime、Atom、またはVSCodeなどのエディタを使用してVagrantfileを開き、次のように編集して保存します.
主に2つの点に注意する必要があります.
config.vm.box = "mybento"
は、mybentoという仮想マシンボックスconfig.vm.network "forwarded_port", guest: 8080, host: 8080, host_ip: "127.0.0.1"
ポート転送、guestは仮想マシンのポート、hostはホストのポートを表します.ここでは、仮想マシンの8080ポートをホストに転送する8080ポートです.# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "mybento"
config.vm.network "forwarded_port", guest: 8080, host: 8080, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 8888, host: 8888, host_ip: "127.0.0.1"
config.vm.network "forwarded_port", guest: 8000, host: 8000, host_ip: "127.0.0.1"
end
3.仮想マシンにログインし、Ubuntuソースを変更する
ログインする前にrsaキーを設定する必要があります.Vagrantを参照して新しいboxを追加する前にrsa公開鍵と秘密鍵を確立する必要があります.このステップの意味は、他の場所でエクスポートされたboxの中には、再使用する必要がある場合はrsa鍵の設定が必要であり、そうでない場合はvagrant upのsshフェーズに引っかかることです.
仮想マシンへのログイン
$ vagrant ssh
Ubuntu 16.04 XenialアリクラウドソースによってUbuntuのソースをアリクラウドに変更し、以降アップグレードパッケージなどをインストールすると、デフォルトのソースよりも高速になります.
4.Ubuntu内のパッケージのインストールとアップグレード
Ubuntuのソースを変更した後.
まず、Ubuntuソースのパッケージリストをリフレッシュします.(注意ここはupdate)
$ sudo apt-get update
次に、Ubuntuの既存のパッケージをアップグレードします.(注意upgrade)
$ sudo apt-get -y upgrade
アップグレードには時間がかかります.アップグレード後、仮想マシンボックス全体のサイズは400 MB+から1 G以上に増加します.アップグレードしない結果、Pythonを使用する過程でいくつかの問題が発生し、pyenvを使用することができますが、アップグレードを推奨します.
また、python 3の開発パッケージ、sqlite、pip、python仮想環境パッケージvirtualwrapperを一緒にインストールすることもできます.
$ sudo apt-get install -y python3-dev sqlite python-pip
$ sudo pip install --upgrade pip
$ sudo pip install virtualenvwrapper
5.修正~/.bashrcプロファイル
仮想マシンで
.bashrc
ファイルに入り、環境変数を構成します.vim
はエディタで、入ってから小文字のi
を編集し、編集が完了したらESCを押し、:wp
を入力して保存終了します.$ vim ~/.bashrc
.bashrc
で増加:WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
PROJECT_HOME=/vagrant
次のようになります.
WORKON_HOME=~/.virtualenvs
python仮想環境が
~/.virtualenvs
の下に置かれていることを示します.このパラメータはpythonの仮想環境管理パッケージvirtualenvwrapperが使用します.source /usr/local/bin/virtualenvwrapper.sh
virtualenvwrapperを環境変数に追加することを示します.
PROJECT_HOME=/vagrant
ホスト中のVagrantfileが存在するディレクトリを、仮想マシン中の
/vagrant
ディレクトリと共有しています(仮想マシンではcd /vagrant
コマンドを使用します).これにより、ホストでも仮想マシンのファイルを操作でき、ローカル開発が容易になります.最後にプロファイルを保存して終了します.
6.仮想マシンvagrant reloadの再起動
仮想マシンを終了するには
exit
コマンドを使用します.$ exit
その後、ホストの端末でVagrantfileがあるディレクトリの下で、仮想マシンを再起動します.
$ vagrant reload
最近再ログインできるようになり、Vagrantが創設したUbuntu 16.04仮想環境を正常に利用できるようになりました.
$ vagrant ssh
その他Vagrantコンテンツ
Vagrant 1:Vagrant実行環境を参照できます