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が仮想マシンを操作するプロセスは主に次のとおりです.
  • vagrant init
  • 初期化
  • Vagrantfile
  • を修正する
  • 仮想マシンにログインし、Ubuntuソース
  • を変更
  • Ubuntu内のパッケージのインストールとアップグレード
  • 修正~/.bashrcプロファイル
  • 仮想マシンvagrant reload
  • を再起動
    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実行環境を参照できます