Enviar búsqueda
Cargar
Vagrant & Dockerによるイマドキの開発環境構築
•
23 recomendaciones
•
26,403 vistas
Nakazawa Yuichi
Seguir
VagrantとDockerを使用した初心者向け開発環境構築講座のスライド
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 61
Descargar ahora
Descargar para leer sin conexión
Recomendados
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
pyar6329
僕の考えた最強の開発環境(笑)
僕の考えた最強の開発環境(笑)
Yuta Nakano
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
Yuki Kanazawa
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Ryo Adachi
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
Jenkins with Docker
Jenkins with Docker
Yahoo!デベロッパーネットワーク
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
Recomendados
開発環境をVagrantからdockerに移行してみた
開発環境をVagrantからdockerに移行してみた
pyar6329
僕の考えた最強の開発環境(笑)
僕の考えた最強の開発環境(笑)
Yuta Nakano
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
Yuki Kanazawa
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Ryo Adachi
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
Jenkins with Docker
Jenkins with Docker
Yahoo!デベロッパーネットワーク
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
Re: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうか
Masahito Zembutsu
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Masahito Zembutsu
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
Daijiro Abe
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方
666oh666
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
Kite Koga
Alpine linuxを触ってみよう
Alpine linuxを触ってみよう
Ryo Adachi
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
Daigou Harada
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
Kazushi Kamegawa
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
Using LXC on Production
Using LXC on Production
Isao Shimizu
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
今日から始めるDigitalOcean
今日から始めるDigitalOcean
Masahito Zembutsu
ProjectAtomic-and-geard
ProjectAtomic-and-geard
Naoto TAKAHASHI
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
Kazuyuki Mori
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
Yukiya Hayashi
Vagrant入門以前
Vagrant入門以前
katanyan
Docker + Checkpoint/Restore
Docker + Checkpoint/Restore
kawamuray
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
pastelInc
Más contenido relacionado
La actualidad más candente
Re: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうか
Masahito Zembutsu
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Masahito Zembutsu
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
Daijiro Abe
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方
666oh666
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
Kite Koga
Alpine linuxを触ってみよう
Alpine linuxを触ってみよう
Ryo Adachi
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
Daigou Harada
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
Kazushi Kamegawa
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
Using LXC on Production
Using LXC on Production
Isao Shimizu
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
今日から始めるDigitalOcean
今日から始めるDigitalOcean
Masahito Zembutsu
ProjectAtomic-and-geard
ProjectAtomic-and-geard
Naoto TAKAHASHI
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
Kazuyuki Mori
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
Yukiya Hayashi
Vagrant入門以前
Vagrant入門以前
katanyan
Docker + Checkpoint/Restore
Docker + Checkpoint/Restore
kawamuray
La actualidad más candente
(20)
Re: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうか
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
捕鯨!詳解docker
捕鯨!詳解docker
誰でも出来るローカル開発環境の作り方
誰でも出来るローカル開発環境の作り方
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
Alpine linuxを触ってみよう
Alpine linuxを触ってみよう
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Using LXC on Production
Using LXC on Production
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
今日から始めるDigitalOcean
今日から始めるDigitalOcean
ProjectAtomic-and-geard
ProjectAtomic-and-geard
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
Vagrant入門以前
Vagrant入門以前
Docker + Checkpoint/Restore
Docker + Checkpoint/Restore
Similar a Vagrant & Dockerによるイマドキの開発環境構築
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
pastelInc
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Shinji Takao
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
xyzplus_net
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
softlayerjp
Docker friendlyPHP / Laravel
Docker friendlyPHP / Laravel
Kentarou Takeda
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
20180925 docker ecs_fargate
20180925 docker ecs_fargate
Hisayuki Mori
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
MILI-LLC
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
Microsoft Corporation
Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題
Asuka Suzuki
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
Firefox Mobile
Firefox Mobile
Makoto Kato
クラウド+コンテナで作る簡単Webアプリケーション
クラウド+コンテナで作る簡単Webアプリケーション
Tsukasa Kato
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
開発環境をDockernizeした話
開発環境をDockernizeした話
Yutaka Horikawa
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
Tsukasa Kato
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
Firefox mobile for android internals
Firefox mobile for android internals
Makoto Kato
Similar a Vagrant & Dockerによるイマドキの開発環境構築
(20)
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
Docker friendlyPHP / Laravel
Docker friendlyPHP / Laravel
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
20180925 docker ecs_fargate
20180925 docker ecs_fargate
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
Dockerが抱えるネットワークの課題
Dockerが抱えるネットワークの課題
Dockerを使ってみよう
Dockerを使ってみよう
Firefox Mobile
Firefox Mobile
クラウド+コンテナで作る簡単Webアプリケーション
クラウド+コンテナで作る簡単Webアプリケーション
Play jjug2012spring
Play jjug2012spring
開発環境をDockernizeした話
開発環境をDockernizeした話
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Firefox mobile for android internals
Firefox mobile for android internals
Más de Nakazawa Yuichi
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
Nakazawa Yuichi
長野市 駐輪所ナビ
長野市 駐輪所ナビ
Nakazawa Yuichi
GEEKLAB.NAGANO ご紹介 ギークハウスデイ版
GEEKLAB.NAGANO ご紹介 ギークハウスデイ版
Nakazawa Yuichi
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
Nakazawa Yuichi
WebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみた
Nakazawa Yuichi
長野で一番熱いスペースのはなし
長野で一番熱いスペースのはなし
Nakazawa Yuichi
Más de Nakazawa Yuichi
(6)
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
長野市 駐輪所ナビ
長野市 駐輪所ナビ
GEEKLAB.NAGANO ご紹介 ギークハウスデイ版
GEEKLAB.NAGANO ご紹介 ギークハウスデイ版
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
WebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみた
長野で一番熱いスペースのはなし
長野で一番熱いスペースのはなし
Vagrant & Dockerによるイマドキの開発環境構築
1.
Vagrant & Dockerによる イマドキの開発環境構築 Japan
System Laboratory GEEKLAB.NAGANO Yuichi Nakazawa
2.
本日の話題 • イマドキの開発環境事情 • Vagrant/Dockerとは •
両者の使いわけ • おまけ(構成管理ツールについて)
3.
本日のゴール Vagrant&Dockerに 興味を持って頂くこと
4.
https://goo.gl/Nvc6yw デモ用URL
5.
イマドキの開発環境事情
6.
皆さん、ご経験ないですか??
7.
開発サーバーでは問題無いの に本番サーバーで動かない
8.
Aさんの環境と自分の環境 で挙動が違う
9.
・バージョン違い ・環境の違い 設定ファイル 環境パス ディレクトリ構成等 原因
10.
サーバー移行に伴う 度重なるセットアップ
11.
同じサーバー構成を作りたい けど、時間がない。 というか、面倒くさい!!
12.
Infracture as code
13.
そんな時に使うのが Vagrant であり Dockerです
14.
Vagrant&Dockerを ざっくり言うと コマンド一発でホストマシンに依存せず に、開発環境やテスト環境を構築できる ツール
15.
Vagrant&Dockerを ざっくり言うと2 カスタマイズしたLAMP環境を好きな時に コマンド一発で起動できる
16.
登場した背景 •多様化する開発スタイル •オンプレからクラウド
17.
Vagrant
18.
•公式HP:https://www.vagrantup.com •仮想環境構築ツール 2012年 V1.0
2017年2月 現在:V1.9.1 •MITライセンス(= タダ) •指定したプロバイダ(デフォルトは、VirtualBox(Oracle))に対して 指定したBox(OSイメージ)の環境を何度でも、どのホストOSでも 同じ環境 •ホストOS型の仮想環境構築を支援 (Vagrantというより、プロバイダの特性) Vagrant
19.
$ vagrant up 起動はコマンド一発
20.
Vagrantの構成
21.
ホストOS型 ハードウェア ホストOS 仮想化ソフト(VirtualBox等) ゲストOS 仮想環境 ゲストOS
22.
•ホストPC(OS)上に仮想化ソフトをインストールし、 そのソフト上でゲストOSを動作させる •比較的導入が容易 •H/WへのアクセスはホストOSを経由 = オーバーヘッド になりやすい(後述するコンテナ型と比較した場合) ホストOS型の特徴
23.
•ホストOS型の仮想環境をいくつも簡単 に起動できる •何度でも壊せる = 色々試せる •複数の開発者間で同様の環境を共有できる Vagrantの特徴
24.
•VirtualBox •VMWare(Fusion) •Hyper-V •Docker •Amazon EC2 プロバイダはアドオンで 変更可能
25.
1. $ vagrant
box add [box名] BOXの登録 2. $ vagrant init 環境立ち上げたい場所で 3. $ vagrant up 環境立ち上げ Vagrant環境構築手順
26.
Vagrant その他のコマンド例 $ vagrant
halt ・・ 停止 $ vagrant reload ・・ 再起動 $ vagrant ssh ・・ SSH接続
27.
Vagrant その他のコマンド例 $ vagrant
destroy ・・ VMイメージを消す $ vagrant box remove [box名] ・・ BOXを消す
28.
・ruby形式のフォーマット ・以下のような設定ができます。 ネットワーク設定 共有フォルダの設定、 プロビジョニングの設定 etc・・ Vagrantfile
29.
Vagrantfileイメージ # -*- mode:
ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "centos67" config.vm.network "private_network", ip: "192.168.33.10" config.vm.synced_folder "../data", "/vagrant_data" end
30.
Vagrant メリット • VagrantFileを共有することにより エンジニア間で環境を共有できる。 •とはいえ、個々でカスタマイズは可。 (Vim派/Emacs派、bash/zsh、各種環境設定等) →
VMツールで立ち上げることは変わらないので
31.
Vagrant デメリット • VMイメージが貯まる →
ストレージを圧迫する (使い捨てることで解決可) • 起動が遅い(個人的感想) → VMで立ち上げることは変わらないので
32.
•公式HP:https://www.docker.com •Apache License2.0(= タダ) •コンテナ型の仮想環境構築 (Javaのコンテナとは別もの) •初期は、Linux上での構築しか出来なかった。 Docker
33.
$ docker run 起動はコマンド一発
34.
コンテナ型(Docker) ハードウェア ホストOS(Linux) Dockerエンジン ゲストOS コンテナ ゲストOS コンテナ
35.
•ホストOSの1プロセスとして起動する → オーバーヘッドが少ない •OS(カーネル)をホストOSと共有するため、 VMごとにOSインストールをする必要はない →
起動/動作が早い コンテナ型の特徴
36.
•Dockerサーバー ・・コンテナ実行 •Dockerクライント ・・Dockerコマンド Dockerエンジンの構成
37.
•開発向け •運用向け ①効率的なデプロイ ②マイクロサービス Dockerの用途
38.
•軽量 •携帯性 •揮発性 (基本的にはLinuxカーネルに構築) Dockerの特徴
39.
•カーネル共有によりコンテナサイズを 抑えられる •デバイスI/Oのエミュレートが 不要のため高速化が可能 →オーバーヘッドが少ない •提供されるDockerイメージも必要最低限 •原則的に1コンテナ1プロセス Dockerの特徴 - 軽量
40.
•Dockerイメージをそのまま 他のホストOSへ •Dockerfile元に他のホスト OSで新規に立ち上げ Dockerの特徴 - 携帯性
41.
•コミットしない限り、 作業内容は保持されない・・ Dockerの特徴 - 揮発性
42.
Docker導入方法 •Docker(各OSの仮想環境) •Kitematic(GUI。VirtualBox) •Docker Tools (Linux以外に構築する場合)
43.
•読み方:カイトマティック •VirtualBox上に自動でCore Linuxを インストールしその環境でコンテナを起動 する(VirtualBoxが無くてこちらも勝手にやってくれ る)。 •GUI上ではコミットはできない・・。コンテナ生成は可 •コンテナイメージは、「Docker Hub」から取得 Kitematic
44.
Kitematic VirtualBox
45.
•Window(64bit) / OS
X向けの インストーラー •VirtualBox上に構築(含まれる) •Kitematic も含まれる Docker Toolbox
46.
•基本は、Docker ToolBox •Hyper-V上に構築 (VirtualBoxとの共存できない) •Win10 64bitでないとダメ Docker
For Windows
47.
•基本は、Docker ToolBox •HyperKit上に構築(OSX 10.10+) •インストール位置がToolBox と異なる https://docs.docker.com/docker-for-mac/ docker-toolbox/ Docker
For Mac
48.
• 起動が早い • 軽量 •
オーバーヘッドが少ない Docker メリット
49.
• コミットを忘れるとツライ→作業 したものがご破産に • 全部入りのイメージが少ないので、 開発環境を
えるまでに、Vagrant 比べ時間が掛かる(個人的主観) Docker デメリット
50.
Vagrant / Docker使い分け •
開発環境 ・・ Vagrant • 動作検証 (新OSやサービスの検証) ・・ Docker / Vagrant • 本番運用(Dockerイメージをデプロイ) ・・Docker
51.
まとめ • Vagrant /
Docker似てるようで、まるで違う。 (簡易的なコマンドで制御できるのは一緒) • Vagrant / Dockerそれぞれ一長一短なので用途によって 使いわけましょう。 • 類似ツールが多いので、選定をちゃんとしないと環境 が余計混乱してしまう可能性も。 • 確実に生産性と保守性はあがります。
52.
おまけ
53.
Infracture as code
54.
構成管理ツール
55.
•環境構成を決まったシナリオに従って インストールや環境構築をしてくれる •冪等性がある(何度流しても同じ結果 になる)。 ざっくりいうと
56.
$ yum install
nginx $ chkconfig nginx on $ sudo nginx start ざっくりいうと、これが
57.
これになります。 exp.) Ansible のplaybook -
name: install nginx yum: name=nginx state=present - name: set auto start nginx command: chkconfig nginx on - name: restart nginx command: service nginx restart
58.
•Ansible •chef •puppet メジャーなもの
59.
•エージェントレス •サーバーはPython2.6+ クライアントは、Python2.5 •設定ファイルがシンプル (主なファイルは2つ程度) Ansible
60.
•同じ環境を何度も立てたい場合に 使えます。(開発、ステージング、本番) •設定ファイルに変数を指定できる。 •Vagrant/Dockerにも設定ファイルは ありますが、ツールに依存してしまう。 まとめ
61.
さいごに •インフラエンジニアでなくても手軽にインフラ構築 ができます。 → インフラエンジニア不要説 →
明日は我が身かも・・・ •自動構成や構成管理ツールで楽出来る?? → 基本が大事(銀の弾丸ではない)
Descargar ahora