Vagrantとは

仮想マシンをCUI*1上で手軽に作るためのツールである。

Vagrantでできること

Vagrantの導入

必要な環境

  • Windows or Macintosh or Linux
  • Ruby

インストール

gem install vagrant

仮想マシン起動までの手順例

Box(仮想マシンの基となるOS)の取得

http://www.vagrantbox.es/などからBoxを取得する。
vagrant box add <title> <url>
  • title:Boxの名前(自由につけてることが可能)
  • url:Boxの取得先のURL

仮想マシンの設定

取得したBox一覧を見る
vagrant box list
Vagrantfileの作成
Box一覧に表示された中から、使用したいBoxを選び次のコマンドを実行する。
vagrant init <title>
  • title:使用したいBoxの名前
Vagrantfileの編集
Vagrantfileに仮想マシンの設定情報などを記述する。
仮想マシンの設定
項目説明
config.vm.hostnameホスト名
config.vm.networkネットワーク
config.vm.boot_timeout仮想マシンが起動するまでの許容待機時間(秒)
config.vm.graceful_halt_timeout仮想マシンが終了するまでの許容待機時間(秒)
config.vm.box
config.vm.guestゲストOS種別
config.vm.box_urlvagrant upした時に使用するboxのURL
config.vm.providerhttp://docs.vagrantup.com/v2/providers/configurati...
config.vm.provision
config.vm.synced_folder
config.vm.usable_port_range
SSHの設定
項目説明
config.ssh.usernameSSH接続時のユーザ名
config.ssh.hostSSH接続時のホスト名またはIP
config.ssh.portSSHのポート番号
config.ssh.guest_portゲストのポート番号
config.ssh.private_key_pathSSHキーのパス
config.ssh.forward_agentエージェント転送の可否
config.ssh.forward_x11X11転送転送の可否
config.ssh.shellVagrantからのSSHコマンドを実行した時にシェルが使用する。
Vagrantの設定
項目説明
config.vagrant.dotfile_namevagrantフォルダ名
config.vagrant.hostホストマシンのタイプ
仮想マシンの起動
vagrant up

Vagrantのコマンド逆引き

基本操作

仮想マシンにSSH接続
※Windowsは対応していないので次のSSHクライアントなどを使用する。
vagrant ssh
仮想マシンのホスト名を設定する
vagrant ssh-config --host <HOST_NAME>
仮想マシンのSSH接続設定確認
vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/{Name}/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL
仮想マシンの状態確認
vagrant status
仮想マシンのBox作成
vagrant package

仮想マシンの状態操作

起動
vagrant up
再起動
vagrant reload
一時停止
vagrant suspend
再開
vagrant resume
終了
vagrant halt
削除
vagrant destroy

Menu

XML

オープンソース

エンドツーエンド暗号化

プロジェクト管理

フォーラム

GitClient

ホスティング

開発手法

ドメイン駆動設計:DDD?

テスト駆動開発:TDD

ビヘイビア駆動開発:BDD

チケット駆動開発:TiDD

課題追跡システム:ITS(issue tracking system)
バグ追跡システム:BTS(bug tracking system)

ビルドツール

JavaScript

ビルドファイルを自動生成

設定ファイル

データシリアライズ

マルチフォーマット

継続的インテグレーション

オススメ

for Windows

その他

構成管理

テストツール

デプロイツール

仮想マシン構築

オーケストラレーション

仮想化ソフトウェア

クラスタリソースマネージャ

コンテナオーケストレーション

サービスメッシュ

Kubernetes

高可用性クラスタ/HAクラスタ

  • Pacemaker?

負荷分散/ロードバランス(Load Balancing)クラスタ

HPC(High Performance Computing)クラスタ

テスト

JavaScript,TypeScript

Living Documentation Generator

ドキュメント作成

reStructuredText

CommonMark

グラフドキュメント

問い合わせ言語

ファイルシステム

分散型Web

Web API作成補助ツール

パッケージ管理システム

Ruby

Chef

OCaml

Rust

Web Frontend

Node.js

Haxe

Microsoft .NET Framework

Mac OS X

Debian

Red Hat系

Gentoo Linux

Arch Linux

シーケンス図

フローチャート

ログイン

脆弱性関連情報

ツール

Web

Components

Template engine

CSS Preprocessor

Haxe
Node.js

JavaScript

MVVM系フレームワーク
比較
データバインディング

Websocket

GDPR対策

Cookie利用

Browser互換確認

Linux

コマンドラインシェル

Record your terminal session

Windows

コマンドラインシェル

メニューサンプル1

Microsoft Media Foundation

  • TopoEdit?

MFCaptureToFile

IMFSinkWriter?

IMFSourceReader?

OpenCV

webページ作成

デザイン

オンラインプログラミング

IDE

プログラミングに最適なフォント

アルゴリズム

コスト・マネジメント

スケジュール・コスト管理

  • EVM?

見積・請求書

デザインソフト

クラウドソーシング

コードバウンティ

管理人/副管理人のみ編集できます