SlideShare a Scribd company logo
1 of 36
コンテナで作る
開発環境
@tabimoba
CodeIgniter Night (2016/11/04)
大野 智之
@tabimoba
• コミュニティ
• IDCFクラウドユーザー会
• NetCommons(コモンズネット)
など
• 好きなフレームワーク
• CodeIgniter
• 本内容は発表者個人の見解であり、
所属組織の見解を表すものではありません。
自己紹介
今回は
ではなく
コンテナの話をします
みなさまにお聞きします
VirtualBox使っていますか?
Vagrant使っていますか?
IaaSやVPS使っていますか?
IaaSやVPSを
ケチケチと効率的に使いたい
と思ったことありませんか?
メモリが足りなくて
仮想マシン(VM)が追加出来なくて
辛いと思ったことありませんか?
メモリ4GBのMacBookAirを買って
失敗したと思ったことありませんか?
AtomなWindowsタブレットを
開発環境にしたいと思ったことありませんか?
コンテナを使いましょう
• コンテナなのでコンテナの作成、起動が早い
• メモリやストレージが無駄なく利用できる
コンテナのメリット
VM1 VM2
Container1
Container2
Container3
仮想マシン(VM)の場合 コンテナの場合
VMごとにメモリ、
ストレージを事前に
割り当てて専有しておく
必要がある
割り当てたメモリや
ストレージが全て
消費されるとは限らない
起動可能なVM数はメモリ、
ストレージの容量に依存する
(物理メモリ以上のメモリ容量
をVMに割り当てられない)
全てのコンテナでメモリ、
ストレージを共有する
実質無制限でコンテナ、
ストレージを起動可能
メモリの少ない環境でも
複数のコンテナを起動す
ることができる
コンテナといえば
LXD
LXDで作る
開発環境
@tabimoba
CodeIgniter Night (2016/11/04)
• コンテナハイパーバイザー(LXCのラッパー)
• Ubuntu 14.04LTS以降で利用可能
• Dockerと共存可能
LXDとは
• init(upstart)やsystemd,rcスクリプトがそのまま
(VMと同様に)動く
• いつものVMと同じ勝手でコンテナが扱える
• Dockerfileのような仕組みは持たない
• システムの起動処理はsystemd,rcスクリプトに任せれば良い
• 構成管理的なものは、Ansible等を利用すれば良い
• モジュールあります
Dockerとの違い
LXDを利用するには
Ubuntuをインストール
パッケージのインストール
# apt install lxd bridge-utils
LXD初期設定
#lxd init
これだけで使い始められます
これだけ覚えればすぐ使えるLXD
コンテナの作成
▽ CentOS 7
$ lxc launch images:centos/7/amd64 -c security.privileged=true
▽ CentOS 6
$ lxc launch images:centos/6/amd64
▽ Ubuntu 14.04
$ lxc launch ubuntu:14.04
▽ Ubuntu 16.04
$ lxc launch ubuntu:16.04
コンテナ一覧表示
# lxc list
+---------------+---------+---------------------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------------+---------+---------------------+------+------------+-----------+
| fast-ghoul | RUNNING | 10.238.76.9 (eth0) | | PERSISTENT | 0 |
+---------------+---------+---------------------+------+------------+-----------+
| hogecontainer | RUNNING | 10.238.76.42 (eth0) | | PERSISTENT | 0 |
+---------------+---------+---------------------+------+------------+-----------+
コンテナの起動・停止
■コンテナの起動
$ lxc start <Container name>
■コンテナの停止
$ lxc stop <Container name>
コンテナのシェルを利用する
# lxc exec hogecontainer /bin/bash
[root@hogecontainer ~]# uname -a
Linux hogecontainer 4.2.0-36-generic #42~14.04.1-Ubuntu SMP
Fri May 13 17:27:22 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@hogecontainer ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
簡単ですね!
コンテナいかがでしょうか?
LXDで
素晴らしいコンテナライフを!

More Related Content

What's hot

WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~Toru Miki
 
すぐにでも使える Windows Virtual Desktop
すぐにでも使える Windows Virtual Desktopすぐにでも使える Windows Virtual Desktop
すぐにでも使える Windows Virtual DesktopTsukasa Kato
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからYasuhiro Horiuchi
 
kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!Takaya Saeki
 
Rancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるかRancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるかTakashi Kanai
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときRyunosuke SATO
 
VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話Yuta Matsumura
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようYuusuke Takeuchi
 
窓の中の箱の世界
窓の中の箱の世界窓の中の箱の世界
窓の中の箱の世界Tsukasa Kato
 
超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方Makoto Ito
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いているAkihiro Kuwano
 
X pages day発表_20141118 final
X pages day発表_20141118 finalX pages day発表_20141118 final
X pages day発表_20141118 finalFumiko Yamamoto
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1Keisuke Imai
 
Node.js で Web アプリ開発
Node.js で Web アプリ開発Node.js で Web アプリ開発
Node.js で Web アプリ開発Tatsumi Naganuma
 
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー2016年注目の.netテクノロジー
2016年注目の.netテクノロジーMakoto Nishimura
 
JPSPSLT-「WindowsAzure 最新事情」2014年2月版
JPSPSLT-「WindowsAzure 最新事情」2014年2月版JPSPSLT-「WindowsAzure 最新事情」2014年2月版
JPSPSLT-「WindowsAzure 最新事情」2014年2月版幸智 Yukinori 黒田 Kuroda
 
Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化NIFTY Cloud
 

What's hot (20)

WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
 
Node js 入門
Node js 入門Node js 入門
Node js 入門
 
すぐにでも使える Windows Virtual Desktop
すぐにでも使える Windows Virtual Desktopすぐにでも使える Windows Virtual Desktop
すぐにでも使える Windows Virtual Desktop
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
 
今さら聞けない人のための仮想化技術超入門
今さら聞けない人のための仮想化技術超入門今さら聞けない人のための仮想化技術超入門
今さら聞けない人のための仮想化技術超入門
 
kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!kernelvm1118関西-KVM vs AHF vs HAXM!
kernelvm1118関西-KVM vs AHF vs HAXM!
 
Rancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるかRancherでwindows server上のコンテナを管理できるか
Rancherでwindows server上のコンテナを管理できるか
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
 
窓の中の箱の世界
窓の中の箱の世界窓の中の箱の世界
窓の中の箱の世界
 
Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
 
超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方超便利! Unity Cloud Build の使い方
超便利! Unity Cloud Build の使い方
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
 
X pages day発表_20141118 final
X pages day発表_20141118 finalX pages day発表_20141118 final
X pages day発表_20141118 final
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
 
Node.js で Web アプリ開発
Node.js で Web アプリ開発Node.js で Web アプリ開発
Node.js で Web アプリ開発
 
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー2016年注目の.netテクノロジー
2016年注目の.netテクノロジー
 
JPSPSLT-「WindowsAzure 最新事情」2014年2月版
JPSPSLT-「WindowsAzure 最新事情」2014年2月版JPSPSLT-「WindowsAzure 最新事情」2014年2月版
JPSPSLT-「WindowsAzure 最新事情」2014年2月版
 
Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化Nifty cloud automationでクラウド構築・運用の自動化
Nifty cloud automationでクラウド構築・運用の自動化
 

Viewers also liked

Nc3開発環境(vagrant)構築(Windows編)
Nc3開発環境(vagrant)構築(Windows編)Nc3開発環境(vagrant)構築(Windows編)
Nc3開発環境(vagrant)構築(Windows編)snakajima
 
NetCommonsユーザカンファレンス2016 オープンソース・ワークショップ
NetCommonsユーザカンファレンス2016 オープンソース・ワークショップNetCommonsユーザカンファレンス2016 オープンソース・ワークショップ
NetCommonsユーザカンファレンス2016 オープンソース・ワークショップMitsuru Mutaguchi
 
CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)
CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)
CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)Takako Miyagawa
 
最新追従 バリバリの NetCommons3 紹介
最新追従 バリバリの NetCommons3 紹介最新追従 バリバリの NetCommons3 紹介
最新追従 バリバリの NetCommons3 紹介Mitsuru Mutaguchi
 
30分で出来ちゃう簡単グループウェアサイト by NetCommons
30分で出来ちゃう簡単グループウェアサイト by NetCommons30分で出来ちゃう簡単グループウェアサイト by NetCommons
30分で出来ちゃう簡単グループウェアサイト by NetCommonsMitsuru Mutaguchi
 
CodeIgniterのライセンスについて
CodeIgniterのライセンスについてCodeIgniterのライセンスについて
CodeIgniterのライセンスについてTakako Miyagawa
 

Viewers also liked (6)

Nc3開発環境(vagrant)構築(Windows編)
Nc3開発環境(vagrant)構築(Windows編)Nc3開発環境(vagrant)構築(Windows編)
Nc3開発環境(vagrant)構築(Windows編)
 
NetCommonsユーザカンファレンス2016 オープンソース・ワークショップ
NetCommonsユーザカンファレンス2016 オープンソース・ワークショップNetCommonsユーザカンファレンス2016 オープンソース・ワークショップ
NetCommonsユーザカンファレンス2016 オープンソース・ワークショップ
 
CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)
CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)
CodeIgniter4 (PHPカンファレンス関西2016 懇親会LT)
 
最新追従 バリバリの NetCommons3 紹介
最新追従 バリバリの NetCommons3 紹介最新追従 バリバリの NetCommons3 紹介
最新追従 バリバリの NetCommons3 紹介
 
30分で出来ちゃう簡単グループウェアサイト by NetCommons
30分で出来ちゃう簡単グループウェアサイト by NetCommons30分で出来ちゃう簡単グループウェアサイト by NetCommons
30分で出来ちゃう簡単グループウェアサイト by NetCommons
 
CodeIgniterのライセンスについて
CodeIgniterのライセンスについてCodeIgniterのライセンスについて
CodeIgniterのライセンスについて
 

Similar to コンテナで作る開発環境 (20161104 CodeIgniter Night)

コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響Masahito Zembutsu
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンMasashi Shinbara
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたTakashi Kanai
 
Persistent-Memory-Programming-Model
Persistent-Memory-Programming-ModelPersistent-Memory-Programming-Model
Persistent-Memory-Programming-ModelMinoru Nakamura
 
Vagrant入門以前
Vagrant入門以前Vagrant入門以前
Vagrant入門以前katanyan
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker雄哉 吉田
 
Vagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作るVagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作るIDC Frontier
 
Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法Shunsuke Kikuchi
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
WordPress開発の最新事情
WordPress開発の最新事情WordPress開発の最新事情
WordPress開発の最新事情Takayuki Miyauchi
 
自動デプロイ
自動デプロイ自動デプロイ
自動デプロイIku Yamamoto
 
OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th ShuyaMotouchi1
 
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrantローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + VagrantKazuma Kimura
 
Tech-on Meet Up #02 Microsoft のコンテナ活用事例
Tech-on Meet Up #02 Microsoft のコンテナ活用事例Tech-on Meet Up #02 Microsoft のコンテナ活用事例
Tech-on Meet Up #02 Microsoft のコンテナ活用事例Kenichiro Nakamura
 
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界Daichi Ogawa
 

Similar to コンテナで作る開発環境 (20161104 CodeIgniter Night) (20)

Vagrantのひみつ
VagrantのひみつVagrantのひみつ
Vagrantのひみつ
 
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
Persistent-Memory-Programming-Model
Persistent-Memory-Programming-ModelPersistent-Memory-Programming-Model
Persistent-Memory-Programming-Model
 
Vagrant入門以前
Vagrant入門以前Vagrant入門以前
Vagrant入門以前
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
Vagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作るVagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作る
 
Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法Raspberry Pi用のコンテナをクラウドでビルドする方法
Raspberry Pi用のコンテナをクラウドでビルドする方法
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
WordPress開発の最新事情
WordPress開発の最新事情WordPress開発の最新事情
WordPress開発の最新事情
 
Firefox Mobile
Firefox MobileFirefox Mobile
Firefox Mobile
 
自動デプロイ
自動デプロイ自動デプロイ
自動デプロイ
 
OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th OWASP_Kyushu_Local_Chapter_Meeting_7th
OWASP_Kyushu_Local_Chapter_Meeting_7th
 
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrantローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
 
Tech-on Meet Up #02 Microsoft のコンテナ活用事例
Tech-on Meet Up #02 Microsoft のコンテナ活用事例Tech-on Meet Up #02 Microsoft のコンテナ活用事例
Tech-on Meet Up #02 Microsoft のコンテナ活用事例
 
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界
[Interact 2018] 別視点からのハイパーコンバージドインフラ ~ ソフトウェアによる華麗な “ものづくり“ の世界
 
20090828 Webconlocal
20090828 Webconlocal20090828 Webconlocal
20090828 Webconlocal
 

コンテナで作る開発環境 (20161104 CodeIgniter Night)