Vagrant Vagrantfileをカスタマイズすることで、重複作業を減らす

1776 ワード

Windows 10は確かにとてもいいので、Linuxデスクトップに戻りたくありません.しかし、Windowsでバックグラウンド開発を行うのは不便で、多くのパッケージがWindowsをサポートしていないという問題があります.しかし、Vagrantのようなツールを使うと、このような問題を大幅に軽減することができます.
Vagrantの紹介
Vagrantは、仮想マシンの管理を容易にし、開発環境の構成を容易にします.多くのhypervisorをサポートしていますが、私は一般的にvirtualboxを使って、十分でお金がかかりません.
Vagrant公式サイトでは詳しく紹介されていますが、中のドキュメントも比較的良いので、勉強をお勧めします.この中国語のチュートリアルも参考にできます.
私のVagrantfile
私には一般的に次のようなニーズがあります.
  • 特定のipを配置し、仮想マシンの組織と後のログインを容易にする.
  • 共有ディスク
  • cpuとメモリを構成する(オプション).
  • 私の公開鍵を上に置いて、後ろにログインしやすいです.
  • は、ソースをアリクラウドに置き換え、システムを更新します.

  • 次は私のVagrantfileテンプレートで、上記の要件を満たしています.後で仮想マシンを作成するには、このテンプレートを少し修正するだけでいいです.
    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/xenial64"
    
      config.vm.box_check_update = false
    
      config.vm.network "private_network", ip: "172.16.1.4"
    
      #   D  E 
      config.vm.synced_folder 'd:/', "/d"
      config.vm.synced_folder 'e:/', "/e"
    
      #         ,cpu
      config.vm.provider "virtualbox" do |v|
        v.memory = 2048
        v.cpus = 2
      end
    
      #      
      config.vm.provision "shell" do |s|
        ssh_pub_key = File.readlines('E:\config\ssh\personal.pub').first.strip
        s.inline = <> /home/vagrant/.ssh/authorized_keys
          fi
          #          
          if ! cmp --silent /etc/apt/sources.list /e/config/vagrant/ubuntu/sources.list; then
             sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
             sudo cp /e/config/vagrant/ubuntu/sources.list /etc/apt/sources.list
          fi
          #          &&   
          sudo apt-get update && sudo apt-get -y upgrade
        SHELL
      end
    end
    

    その他の構成:公開鍵とアリソースファイルをEディスクで指定したファイルに事前に配置しました.