SlideShare a Scribd company logo
1 of 23
Download to read offline
Copyright © 2013 NTT DATA Corporation
"Up" with Vagrant and Docker
Hiroshi Miura(@miurahr)
NTTデータ
基盤システム事業本部
Docker Meetup
Tokyo 2014 #1
2Copyright © 2013 NTT DATA Corporation
Disclaimer
● Any product name, service name, software name and other marks a
re trade mark or registered mark of corresponding companies.
● This presentation is in a purpose of providing current information on
emerging technologies and there is no grantee of correctness and/o
r persistence of features in any future.
● A presenter and NTT Data Corporation provide information in as-is b
asis and have no responsiveness for results that you got according
to information in this presentation material.
3Copyright © 2013 NTT DATA Corporation
4Copyright © 2013 NTT DATA Corporation
Introduction to Vagrant
Vagrantのご紹介
vagrantup.com
5Copyright © 2013 NTT DATA Corporation
What is Vagrant
● 開発環境を仮想マシンやコンテナ、クラウドに作成
● 商用環境とできるだけ同一の環境をつくることを優先
● アプリ・リポジトリに設定がおいてあることがおおい
● Mitchell Hashimoto氏が作者
● Rubyで書かれている
● 基本はOracleVM VirtualBoxとAWS EC2
● 有償オプションで、VMWare Fusion
6Copyright © 2013 NTT DATA Corporation
Vagrant Users
● 今までの典型的なVagrantユーザ像
– Webデベロッパー
– MacBook AirかMacBook Pro利用者が多い
– VirtualBoxでUbuntu利用が多い
– 提供先はAWSやVPS上へホスト
– Ruby/RoR使いが多い
– Github利用者が多い
7Copyright © 2013 NTT DATA Corporation
Vagrant Users
● 新しいタイプのユーザ
– インフラエンジニア
– RHEL, CentOSまたはWindows利用者
– vCenter, OpenStack等をデプロイ
– Puppet, Chef, またはAnsible使い
– OpenFlowに興味
8Copyright © 2013 NTT DATA Corporation
Vagrant Plugins
● Vagrant 1.1+からプラグイン可能となる(2013.2〜)
– Provider: 仮想マシン等ドライブの提供
– Provisioner: ゲスト設定方法の提供
– host/guest: OSサポート
– Synced_folder: フォルダ同期方法の提供
● Vagrant 1.4からDocker provisionerが標準提供 
9Copyright © 2013 NTT DATA Corporation
Vagrant provisioner
● Shell, Puppet, Chefでの設定が標準で可能
● Puppet: スタンドアロン、Client/Server可
– スタンドアロンでは以下にマウント
● /tmp/puppet-manifest
● /tmp/puppet-modules
● Chef: Chef-solo, Client/Server可
● Shell: インライン、外部シェル可能
● Salt, Docker...
10Copyright © 2013 NTT DATA Corporation
Vagrant installation
● VirtualBoxインストール
● Vagrantインストーラダウンロード
– Mac, Windows, Linux(CentOS/RHEL, Ubuntu/Debian)
● Vagrantインストール
● Vagrant box入手(自動取得も可能)
● 作業ディレクトリ作成し、コマンド実行
11Copyright © 2013 NTT DATA Corporation
What is Vagrant box
● 事前に作られたVMイメージや相当物
● さまざまなプラットホームが用意され、公開もされてい
る
● 自身でつくることも可能
● プロバイダー毎に形式が相違
● 変換も可能(development in progress)
12Copyright © 2013 NTT DATA Corporation
Find your Boxes
● Catalog siteでURL入手
– vagrantbox.es
● コマンドの実行
● 設定に記載する方法もある
config.vm.box_url= "<URL>"
$ vagrant box add <boxname> <url>
13Copyright © 2013 NTT DATA Corporation
Environment creation
● プロジェクト内に設定"Vagrantfile"を作成
$ vagrant init
14Copyright © 2013 NTT DATA Corporation
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://domain.com/path/to/above.box"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :private_network, ip: "192.168.33.10"
config.vm.provider :kvm do |kvm|
kvm.gui = "true"
kvm.image_type = "qcow2"
kvm.memory_size = "512m"
kvm.core_number = 2
kvm.cpu_model = 'i686'
end
config.vm.provision :shell, inline: <<-SH
set -x
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -y apache
SH
end
Vagrantfile例
15Copyright © 2013 NTT DATA Corporation
Vagrant eco-system
● Vagrant Plugin 開発コミュニティ
種類 プロジェクト 機能
provider Vagrant-KVM LinuxとKVMをホスト環境とし
て利用可能にする
provider Vagrant-LXC LinuxホストのLXCで利用する
provider Vagrant-libvirt libvirtを用いて、遠隔ホストで
Xen,KVM等を利用可能にする
provider Vagrant-AWS AWS上で利用可能にする
Command Vagrant-mutate Boxの形式を変換する
Command Sahara スナップショットを操作する
16Copyright © 2013 NTT DATA Corporation
Vagrant eco-system
● バラエティに富んだ開発コミュニティ
種類 プロジェクト 機能
provisioner vagrant-cachier ゲストOSを判定して、 OS package/gem
file等のキャッシュを永続化する
provisioner vagrant-dns
vagrant-hostmanager
管理対象に合わせてDNS/host設定を更新
する
provisioner vagrant-ansible Ansibleでコンフィグを行う
provider vagrant-rackspace RackSpaceでのマシン管理を可能にする
provider vagrant-parallels parallels 上でマシン管理
provider vagrant-digitalocean DigitalOcean上のマシン管理を可能にする
box repository vagrantbox.es public boxのリポジトリ
17Copyright © 2013 NTT DATA Corporation
18Copyright © 2013 NTT DATA Corporation
Vagrant and Docker
● 基本的なアイディア
– Vagrant上でDocker環境をデプロイ
– ゲストに自動的にDockerをインストール
– ゲストに自動的にDockerイメージを導入
● Docker Provisioner
– Vagrant 1.1-1.3: 外部プラグイン
– Vagrant 1.4+ (Dec., 2013) 標準装備
19Copyright © 2013 NTT DATA Corporation
Docker provisioner
● ゲストOSを自動判別して、適切なDockerのパッケージをゲ
ストにインストール
● Docker稼働環境を、好みの仮想環境上にコマンド一発で作
成できる
● Puppet等の知識は不要
● Docker環境が構築された後は、vagrant sshでログインして
、dockerコマンドで操作できる
Vagrant
Host OS/Hypervisor
Box Images
(Fedora, Ubuntu, etc)
Container
image
Docker
Container
image
手軽にDocker環境を試すのに最適!
20Copyright © 2013 NTT DATA Corporation
Vagrant.configure("2") do |config|
config.vm.box = "raring"
config.vm.box_url = “https://dl.dropboxusercontent.com/u/547671/thinkstack-
raring64.box”
if Vagrant.has_plugin?("vagrant-cachier")
config.cache.auto_detect = true
end
config.vm.provision :shell, inline: <<-SH
set -x
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
SH
config.vm.provision "docker" do |d|
d.pull_images "busybox"
end
end
Vagrantfile example for Docker
Ubuntu RaringをゲストOSとしてVM上にインストールして、docker環境を整え、
busybox docker imageを導入する
21Copyright © 2013 NTT DATA Corporation
Packer
● VagrantのHashicorpが開発するプロダクト
● 一つのレシピから、複数のゲストイメージを生
成可能
– VirtualBox
– VMWare
– Libvirt/KVM
– LXC
– Docker
● Dockerのテンプレートや、Vagrant BOX(bento plugin)の生成
● Shell, Puppetなど、従来からのお気に入りの方法で定義できる
22Copyright © 2013 NTT DATA Corporation
イメージ全体
Vagrant
Host OS/Hypervisor(VB, VMware, KVM)
Provider
(VirtualBox, KVM, LXC
Libvirt, AWS)
Command
(Snapshot
mutate)
Box Images
(Fedora, Ubuntu, etc)
Provisioner
(Puppet, Chef, Docker)
Remote Host
Provisioner
(Puppet, Chef, Docker)
Box Images
(Fedora, Ubuntu, etc)
レシピ
RubyGems
Pypi, etc
OS package
repository
PuppetShell
PACKER
LXC image
VM image
Docker template
docker
repository
Vagrant box
repository
Container images
開発環境
Copyright © 2011 NTT DATA Corporation
Copyright © 2013 NTT DATA Corporation
Contact
miurahr at nttdata co jp
@miurahr (Twitter/LinkedIn/Github)

More Related Content

What's hot

今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例Shintaro Hasunuma
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
マンガボックスのiOS10プッシュ通知導入事例
マンガボックスのiOS10プッシュ通知導入事例マンガボックスのiOS10プッシュ通知導入事例
マンガボックスのiOS10プッシュ通知導入事例Fukaya Akifumi
 

What's hot (20)

自宅インフラの育て方 第2回
自宅インフラの育て方 第2回自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
 
devsummit_nifcloud_vmware
devsummit_nifcloud_vmwaredevsummit_nifcloud_vmware
devsummit_nifcloud_vmware
 
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
 
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
今すぐ試せるブルーグリーンデプロイメント入門とその実装 - OpenStack最新情報セミナー(2017年3月)
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
 
クラウド上のシステム監視 入門編
クラウド上のシステム監視 入門編クラウド上のシステム監視 入門編
クラウド上のシステム監視 入門編
 
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
 
ニフクラ × RancherでつくるKubernetes環境
ニフクラ × RancherでつくるKubernetes環境ニフクラ × RancherでつくるKubernetes環境
ニフクラ × RancherでつくるKubernetes環境
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)
 
ニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組みニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組み
 
ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例ニフティクラウドでのVyOS利用事例
ニフティクラウドでのVyOS利用事例
 
クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編~システムを作ったその先に~
 
nifcloud_meetup
nifcloud_meetupnifcloud_meetup
nifcloud_meetup
 
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
 
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
 
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
 
マンガボックスのiOS10プッシュ通知導入事例
マンガボックスのiOS10プッシュ通知導入事例マンガボックスのiOS10プッシュ通知導入事例
マンガボックスのiOS10プッシュ通知導入事例
 

Similar to "Up" with vagrant and docker

WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会Yusuke Naka
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)NTT DATA Technology & Innovation
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)NTT DATA Technology & Innovation
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版i_yudai
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?Masahito Zembutsu
 
ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版Osaka University
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化Hinemos
 
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)Osaka University
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』Naoya Hashimoto
 

Similar to "Up" with vagrant and docker (20)

WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
ドリコムのインフラCI
ドリコムのインフラCIドリコムのインフラCI
ドリコムのインフラCI
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online)
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
 
ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
 
Aws summit tokyo 2016
Aws summit tokyo 2016Aws summit tokyo 2016
Aws summit tokyo 2016
 
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
 

More from Hiroshi Miura

Wireless display-on-linux
Wireless display-on-linuxWireless display-on-linux
Wireless display-on-linuxHiroshi Miura
 
圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題Hiroshi Miura
 
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月Hiroshi Miura
 
Libreoffice and translation
Libreoffice and translationLibreoffice and translation
Libreoffice and translationHiroshi Miura
 
ライブラリ インストール マネージャ For Visual C/C++
ライブラリ インストール マネージャ For Visual C/C++ライブラリ インストール マネージャ For Visual C/C++
ライブラリ インストール マネージャ For Visual C/C++Hiroshi Miura
 
Starting OpenStreetMap Japan 2008 in SotM2008
Starting OpenStreetMap Japan 2008 in SotM2008Starting OpenStreetMap Japan 2008 in SotM2008
Starting OpenStreetMap Japan 2008 in SotM2008Hiroshi Miura
 
Iwfst 2005.Position Paper
Iwfst 2005.Position PaperIwfst 2005.Position Paper
Iwfst 2005.Position PaperHiroshi Miura
 
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦Hiroshi Miura
 
Sinsai.info, CrisisMap and the next
Sinsai.info, CrisisMap and the nextSinsai.info, CrisisMap and the next
Sinsai.info, CrisisMap and the nextHiroshi Miura
 
Sinsai.info Symposium: OSM now
 Sinsai.info Symposium: OSM now Sinsai.info Symposium: OSM now
Sinsai.info Symposium: OSM nowHiroshi Miura
 
日本国際地図学会 20110808 震災とジオメディア 
日本国際地図学会 20110808 震災とジオメディア 日本国際地図学会 20110808 震災とジオメディア 
日本国際地図学会 20110808 震災とジオメディア Hiroshi Miura
 
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"Hiroshi Miura
 
unihandecode: An Unicode transliteration library
unihandecode: An Unicode transliteration libraryunihandecode: An Unicode transliteration library
unihandecode: An Unicode transliteration libraryHiroshi Miura
 
SotM2011 crisis mapping and sinsai.info
SotM2011 crisis mapping and sinsai.infoSotM2011 crisis mapping and sinsai.info
SotM2011 crisis mapping and sinsai.infoHiroshi Miura
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
How GNSS changes mapping?
How GNSS changes mapping?How GNSS changes mapping?
How GNSS changes mapping?Hiroshi Miura
 
Osm how to_mapping_2014
Osm how to_mapping_2014Osm how to_mapping_2014
Osm how to_mapping_2014Hiroshi Miura
 
How to mapping_hondout
How to mapping_hondoutHow to mapping_hondout
How to mapping_hondoutHiroshi Miura
 
Japan OSS promotion Forum symposium - Neaoss wg2 activity
Japan OSS promotion Forum symposium - Neaoss wg2 activityJapan OSS promotion Forum symposium - Neaoss wg2 activity
Japan OSS promotion Forum symposium - Neaoss wg2 activityHiroshi Miura
 

More from Hiroshi Miura (20)

Wireless display-on-linux
Wireless display-on-linuxWireless display-on-linux
Wireless display-on-linux
 
圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題
 
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
Aqt install for Qt勉強会@ Tokyo R #2 2019年6月
 
Libreoffice and translation
Libreoffice and translationLibreoffice and translation
Libreoffice and translation
 
ライブラリ インストール マネージャ For Visual C/C++
ライブラリ インストール マネージャ For Visual C/C++ライブラリ インストール マネージャ For Visual C/C++
ライブラリ インストール マネージャ For Visual C/C++
 
Starting OpenStreetMap Japan 2008 in SotM2008
Starting OpenStreetMap Japan 2008 in SotM2008Starting OpenStreetMap Japan 2008 in SotM2008
Starting OpenStreetMap Japan 2008 in SotM2008
 
Iwfst 2005.Position Paper
Iwfst 2005.Position PaperIwfst 2005.Position Paper
Iwfst 2005.Position Paper
 
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
Kof2005 Presentation - OSSの教育効果と人材育成への挑戦
 
Sinsai.info, CrisisMap and the next
Sinsai.info, CrisisMap and the nextSinsai.info, CrisisMap and the next
Sinsai.info, CrisisMap and the next
 
Sinsai.info Symposium: OSM now
 Sinsai.info Symposium: OSM now Sinsai.info Symposium: OSM now
Sinsai.info Symposium: OSM now
 
日本国際地図学会 20110808 震災とジオメディア 
日本国際地図学会 20110808 震災とジオメディア 日本国際地図学会 20110808 震災とジオメディア 
日本国際地図学会 20110808 震災とジオメディア 
 
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
Infotalk#33 "みんなでつくる震災復興支援プラットホームSinsai.infoを実現する技術とチーム運営"
 
unihandecode: An Unicode transliteration library
unihandecode: An Unicode transliteration libraryunihandecode: An Unicode transliteration library
unihandecode: An Unicode transliteration library
 
SotM2011 crisis mapping and sinsai.info
SotM2011 crisis mapping and sinsai.infoSotM2011 crisis mapping and sinsai.info
SotM2011 crisis mapping and sinsai.info
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
How GNSS changes mapping?
How GNSS changes mapping?How GNSS changes mapping?
How GNSS changes mapping?
 
Osm how to_mapping_2014
Osm how to_mapping_2014Osm how to_mapping_2014
Osm how to_mapping_2014
 
How to mapping_hondout
How to mapping_hondoutHow to mapping_hondout
How to mapping_hondout
 
webdb forum_sinsai
webdb forum_sinsaiwebdb forum_sinsai
webdb forum_sinsai
 
Japan OSS promotion Forum symposium - Neaoss wg2 activity
Japan OSS promotion Forum symposium - Neaoss wg2 activityJapan OSS promotion Forum symposium - Neaoss wg2 activity
Japan OSS promotion Forum symposium - Neaoss wg2 activity
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

"Up" with vagrant and docker

  • 1. Copyright © 2013 NTT DATA Corporation "Up" with Vagrant and Docker Hiroshi Miura(@miurahr) NTTデータ 基盤システム事業本部 Docker Meetup Tokyo 2014 #1
  • 2. 2Copyright © 2013 NTT DATA Corporation Disclaimer ● Any product name, service name, software name and other marks a re trade mark or registered mark of corresponding companies. ● This presentation is in a purpose of providing current information on emerging technologies and there is no grantee of correctness and/o r persistence of features in any future. ● A presenter and NTT Data Corporation provide information in as-is b asis and have no responsiveness for results that you got according to information in this presentation material.
  • 3. 3Copyright © 2013 NTT DATA Corporation
  • 4. 4Copyright © 2013 NTT DATA Corporation Introduction to Vagrant Vagrantのご紹介 vagrantup.com
  • 5. 5Copyright © 2013 NTT DATA Corporation What is Vagrant ● 開発環境を仮想マシンやコンテナ、クラウドに作成 ● 商用環境とできるだけ同一の環境をつくることを優先 ● アプリ・リポジトリに設定がおいてあることがおおい ● Mitchell Hashimoto氏が作者 ● Rubyで書かれている ● 基本はOracleVM VirtualBoxとAWS EC2 ● 有償オプションで、VMWare Fusion
  • 6. 6Copyright © 2013 NTT DATA Corporation Vagrant Users ● 今までの典型的なVagrantユーザ像 – Webデベロッパー – MacBook AirかMacBook Pro利用者が多い – VirtualBoxでUbuntu利用が多い – 提供先はAWSやVPS上へホスト – Ruby/RoR使いが多い – Github利用者が多い
  • 7. 7Copyright © 2013 NTT DATA Corporation Vagrant Users ● 新しいタイプのユーザ – インフラエンジニア – RHEL, CentOSまたはWindows利用者 – vCenter, OpenStack等をデプロイ – Puppet, Chef, またはAnsible使い – OpenFlowに興味
  • 8. 8Copyright © 2013 NTT DATA Corporation Vagrant Plugins ● Vagrant 1.1+からプラグイン可能となる(2013.2〜) – Provider: 仮想マシン等ドライブの提供 – Provisioner: ゲスト設定方法の提供 – host/guest: OSサポート – Synced_folder: フォルダ同期方法の提供 ● Vagrant 1.4からDocker provisionerが標準提供 
  • 9. 9Copyright © 2013 NTT DATA Corporation Vagrant provisioner ● Shell, Puppet, Chefでの設定が標準で可能 ● Puppet: スタンドアロン、Client/Server可 – スタンドアロンでは以下にマウント ● /tmp/puppet-manifest ● /tmp/puppet-modules ● Chef: Chef-solo, Client/Server可 ● Shell: インライン、外部シェル可能 ● Salt, Docker...
  • 10. 10Copyright © 2013 NTT DATA Corporation Vagrant installation ● VirtualBoxインストール ● Vagrantインストーラダウンロード – Mac, Windows, Linux(CentOS/RHEL, Ubuntu/Debian) ● Vagrantインストール ● Vagrant box入手(自動取得も可能) ● 作業ディレクトリ作成し、コマンド実行
  • 11. 11Copyright © 2013 NTT DATA Corporation What is Vagrant box ● 事前に作られたVMイメージや相当物 ● さまざまなプラットホームが用意され、公開もされてい る ● 自身でつくることも可能 ● プロバイダー毎に形式が相違 ● 変換も可能(development in progress)
  • 12. 12Copyright © 2013 NTT DATA Corporation Find your Boxes ● Catalog siteでURL入手 – vagrantbox.es ● コマンドの実行 ● 設定に記載する方法もある config.vm.box_url= "<URL>" $ vagrant box add <boxname> <url>
  • 13. 13Copyright © 2013 NTT DATA Corporation Environment creation ● プロジェクト内に設定"Vagrantfile"を作成 $ vagrant init
  • 14. 14Copyright © 2013 NTT DATA Corporation # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "precise64" config.vm.box_url = "http://domain.com/path/to/above.box" config.vm.network :forwarded_port, guest: 80, host: 8080 config.vm.network :private_network, ip: "192.168.33.10" config.vm.provider :kvm do |kvm| kvm.gui = "true" kvm.image_type = "qcow2" kvm.memory_size = "512m" kvm.core_number = 2 kvm.cpu_model = 'i686' end config.vm.provision :shell, inline: <<-SH set -x export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get install -y apache SH end Vagrantfile例
  • 15. 15Copyright © 2013 NTT DATA Corporation Vagrant eco-system ● Vagrant Plugin 開発コミュニティ 種類 プロジェクト 機能 provider Vagrant-KVM LinuxとKVMをホスト環境とし て利用可能にする provider Vagrant-LXC LinuxホストのLXCで利用する provider Vagrant-libvirt libvirtを用いて、遠隔ホストで Xen,KVM等を利用可能にする provider Vagrant-AWS AWS上で利用可能にする Command Vagrant-mutate Boxの形式を変換する Command Sahara スナップショットを操作する
  • 16. 16Copyright © 2013 NTT DATA Corporation Vagrant eco-system ● バラエティに富んだ開発コミュニティ 種類 プロジェクト 機能 provisioner vagrant-cachier ゲストOSを判定して、 OS package/gem file等のキャッシュを永続化する provisioner vagrant-dns vagrant-hostmanager 管理対象に合わせてDNS/host設定を更新 する provisioner vagrant-ansible Ansibleでコンフィグを行う provider vagrant-rackspace RackSpaceでのマシン管理を可能にする provider vagrant-parallels parallels 上でマシン管理 provider vagrant-digitalocean DigitalOcean上のマシン管理を可能にする box repository vagrantbox.es public boxのリポジトリ
  • 17. 17Copyright © 2013 NTT DATA Corporation
  • 18. 18Copyright © 2013 NTT DATA Corporation Vagrant and Docker ● 基本的なアイディア – Vagrant上でDocker環境をデプロイ – ゲストに自動的にDockerをインストール – ゲストに自動的にDockerイメージを導入 ● Docker Provisioner – Vagrant 1.1-1.3: 外部プラグイン – Vagrant 1.4+ (Dec., 2013) 標準装備
  • 19. 19Copyright © 2013 NTT DATA Corporation Docker provisioner ● ゲストOSを自動判別して、適切なDockerのパッケージをゲ ストにインストール ● Docker稼働環境を、好みの仮想環境上にコマンド一発で作 成できる ● Puppet等の知識は不要 ● Docker環境が構築された後は、vagrant sshでログインして 、dockerコマンドで操作できる Vagrant Host OS/Hypervisor Box Images (Fedora, Ubuntu, etc) Container image Docker Container image 手軽にDocker環境を試すのに最適!
  • 20. 20Copyright © 2013 NTT DATA Corporation Vagrant.configure("2") do |config| config.vm.box = "raring" config.vm.box_url = “https://dl.dropboxusercontent.com/u/547671/thinkstack- raring64.box” if Vagrant.has_plugin?("vagrant-cachier") config.cache.auto_detect = true end config.vm.provision :shell, inline: <<-SH set -x export DEBIAN_FRONTEND=noninteractive sudo apt-get update SH config.vm.provision "docker" do |d| d.pull_images "busybox" end end Vagrantfile example for Docker Ubuntu RaringをゲストOSとしてVM上にインストールして、docker環境を整え、 busybox docker imageを導入する
  • 21. 21Copyright © 2013 NTT DATA Corporation Packer ● VagrantのHashicorpが開発するプロダクト ● 一つのレシピから、複数のゲストイメージを生 成可能 – VirtualBox – VMWare – Libvirt/KVM – LXC – Docker ● Dockerのテンプレートや、Vagrant BOX(bento plugin)の生成 ● Shell, Puppetなど、従来からのお気に入りの方法で定義できる
  • 22. 22Copyright © 2013 NTT DATA Corporation イメージ全体 Vagrant Host OS/Hypervisor(VB, VMware, KVM) Provider (VirtualBox, KVM, LXC Libvirt, AWS) Command (Snapshot mutate) Box Images (Fedora, Ubuntu, etc) Provisioner (Puppet, Chef, Docker) Remote Host Provisioner (Puppet, Chef, Docker) Box Images (Fedora, Ubuntu, etc) レシピ RubyGems Pypi, etc OS package repository PuppetShell PACKER LXC image VM image Docker template docker repository Vagrant box repository Container images 開発環境
  • 23. Copyright © 2011 NTT DATA Corporation Copyright © 2013 NTT DATA Corporation Contact miurahr at nttdata co jp @miurahr (Twitter/LinkedIn/Github)