Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

Vagrant

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

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

公式サイト

https://www.vagrantup.com/

主要なコマンド

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に設定を記述していく。

公式サイト

https://www.docker.com/

コンテナとは(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についても触れています

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした