LoginSignup
270
269

More than 5 years have passed since last update.

仮想開発環境構築ツールまとめ

Last updated at Posted at 2015-03-11

VagrantとDockerの理解がどうも曖昧だったので整理するために、それぞれどうゆうものなのかをまとめました

Vagrant

Vagrantとは、違う環境に移行可能な開発環境を簡単に構築・管理し、配布することができる仮想開発環境構築ソフトウェア。仮想マシンの構築手順を'Vagrantfile'という設定ファイルに記述する。
VagrantのパッケージにはRubyの実行環境が含まれているので、Rubyをインストールしなくても使用可能。
VirtualBoxやVMWareといった仮想環境の上に仮想マシンを構築して利用する。

*1.0.x系はrubygemsでも公開していたが、現行ではパッケージからインストール形式を取っている

公式サイト

主要なコマンド

Vagrantfileに記述した設定に従い仮想マシンを起動

terminal
$ vagrant up
  • 仮想マシンにSSHログイン
terminal
$ vagrant ssh
  • 仮想マシンの状態を確認
terminal
$ vagrant status
  • 仮想マシンを停止
terminal
$ vagrant halt
  • 仮想マシンを削除
terminal
$ vagrant destroy
  • ssh_configを保存(出力)
terminal
$ vagrant ssh-config >> ~/.ssh/config

Docker

Docker Inc. がオープンソースで開発しているコンテナ型仮想化技術、ソフトウェア。
Dockerfileに設定を記述していく。

公式サイト

コンテナとは(LXC)

一つのホスト上で複数の隔離されたLinuxシステム(コンテナ)を走らせる、OSレベルの仮想化ソフトウェア。
VMに比べ、消費リソースが少い、起動が早い、オーバヘッドが少いというメリットがある。

Docker Hub

Dockerイメージの保存、共有が出来るサービス。
docker pullコマンドでダウンロードが出来る
https://hub.docker.com/

主要なコマンド

  • Dockerイメージのダウンロード
terminal
$ docker pull <イメージ名>:<タグ名>
  • イメージの一覧
terminal
$ docker images
  • コンテナの実行
terminal
$ docker run <オプション> <--name コンテナ名> <イメージ名>:<タグ名> 
  • コンテナの一覧
terminal
$ docker ps -a
  • コンテナの停止
terminal
$ docker stop <オプション> <コンテナ名>
  • コンテナの起動
terminal
$ docker start <コンテナ名>
  • コンテナの強制終了
terminal
$ docker kill <コンテナ名>
  • コンテナの削除
terminal
$ docker rm <コンテナ名>
  • イメージの削除
terminal
$ docker rmi <イメージ名>

プロビジョニングツール

プロビジョニングとは

provisioning : [供給/準備/設備/引き当て(すること)]
ネットワーク設備やシステムリソースなどを事前に用意しておき、ユーザーの要求に応じてそれを割り当てて迅速にサービスの提供を行うこと。

Puppet

ruby製、独自の宣言型言語によりシステムのあるべき状態を管理する。
参考 : http://gihyo.jp/admin/serial/01/puppet/0001?page=2

Chef

Puppet同様、サーバ管理ツールで設定ファイルをrubyで記述できる。
cookbook,Recipe等独自の概念を持っている

Chefについては気力がある時に、またまとめようとおもいます。。。

2015-06-10 追記

Dockerについてブログにまとめました。
http://carefree-se.hatenablog.com/entry/2015/06/08/001107

こちらの内容 + Dockerfileについても触れています

270
269
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
270
269