SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
脱VM!! リモートコンテナによる開発
(2021.2.9) KENJI HIRATA
現状課題
• 複数プロジェクトの開発保守のため個別の開発環境(VM)が
必要となる
 VMの容量が大きくHDD逼迫
 VM起動により、CPU・メモリ等のリソース負荷がかかり、PCのス
ペックが低いと重くて開発が困難
 新規要員対しVMの提供が必要
(VPNではネットワーク的にきついためポータブルHDD等による受け渡し
となる⇒出社が必要)
現状課題
• 複数プロジェクトの開発保守のため個別の開発環境(VM)が
必要となる
 VMの容量が大きくHDD逼迫
 VM起動により、CPU・メモリ等のリソース負荷がかかり、PCのス
ペックが低いと重くて開発が困難
 新規要員対しVMの提供が必要
(VPNではネットワーク的にきついためポータブルHDDによる受け渡しと
なる⇒出社が必要)
ホスト環境を汚さず、かつVMを利用しないで開発ができないか??
解決策
• 開発環境を仮想コンテナ化
• VSCodeのRemote Containers機能でコンテナに接続して開発
仮想コンテナとは?
ホストOS
カーネル
コンテナ コンテナ
VM(仮想マシン)
ゲストOS ゲストOS
コンテナエンジンというプロセスを通して、ホストOSの「カーネル」を共有することでCPUやメモリなどのリソースを隔
離し、仮想的な空間を作り出す。これをコンテナ型仮想化という。
VMWare等のハイパーバイザ型仮想化に比べ、軽量かつ起動が早いというメリットがある。
カーネル カーネル
ハイパーバイザー
コンテナエンジン
アプリ アプリ
アプリ アプリ
ミドル
ウェア
ミドル
ウェア
ミドル
ウェア
ミドル
ウェア
代表的なコンテナエンジン「docker」
コンテナ型の仮想環境を作成、配布、実行するためのプラットフォーム
今回は、dockerを利用した開発の方法を紹介します。
コンテナ化するメリット
• インフラ環境(実行に必要なミドルウェア、ライブラリ、他設定等)をコード化できる
• コード化することでインフラをバージョン管理可能
• VMのように仮想マシンの配布ではなく、数キロバイトの定義ファイルのみの配布で済む。
• 簡単に作り直せるため、変更も容易。
WindowsでDockerを利用するためには
• Hyper-Vを利用する
• WSL2(Windows Subsystem Linux)を利用する
どちらかの方法でDockerを起動させることができるが、Hyper-Vを利用する場合、VMWareが利用
できなくなる。
コンテナとVMの両立を実現するには、WSL2を利用する方法となる。
※WSL2の利用については下記ページを参照
Windowsローカル開発環境のコンテナとVMの共存運用に向けて
https://qiita.com/kj_hira/items/be2631f26e6afbc5b0df
dockerを利用した開発フローの例
dockerコンテナ
jar
Javaランタイム
dockerコンテナ
jar
Javaランタイム
dockerコンテナ
jar
Javaランタイム
検証環境 本番環境
開発環境
コンテナリポジトリ
ローカルPC
コンテナ起動
アプリデプロイ
PUSH
PULL PULL
開発から本番まで同一の実行環境であることで、環境による動作不備の心配が不要。
ローカルでは動いたけどサーバ(他環境)では動かないといったことが無くなる。
dockerを利用した開発フローの例
dockerコンテナ
jar
Javaランタイム
dockerコンテナ
jar
Javaランタイム
dockerコンテナ
jar
Javaランタイム
検証環境 本番環境
開発環境
コンテナリポジトリ
ローカルPC
コンテナ起動
アプリデプロイ
PUSH
PULL PULL
開発から本番まで同一の実行環境であることで、環境による動作不備の心配が不要。
ローカルでは動いたけどサーバでは動かないといったことが無くなる。
しかし、開発メンバーにコンテナの知識が必要。
全員に習得してもらうのは無理がある・・・
コンテナを使った開発の難しさを解消
VSCodeのRemoteContainers機能を利用することで、コンテナを意識せずにコンテナによる開発が可能
引用:Visual Studio Code (Developing inside a Container)
開発者の操作手順の例
1. VSCodeを立ち上げる
2. Gitリポジトリから最新をPULL(またはclone) ※Dockerfileまたはdocker-composeファイルを取得
3. VSCodeのRemoteContainersを起動 ※ここで自動的にコンテナの生成と起動が行われる
4. ソースコードを修正し、VSCodeのデバッグを実行
コンテナを意識することなく従来通りの開発が可能

Más contenido relacionado

La actualidad más candente

Jcsug21 20140912
Jcsug21 20140912Jcsug21 20140912
Jcsug21 20140912hirokihojo
 
20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...
20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...
20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...VxRail ChampionClub
 
Hyper vを理解する
Hyper vを理解するHyper vを理解する
Hyper vを理解するNaoki Abe
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向についてYasunori Goto
 
Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術Daichi Ogawa
 
20160625 cloud samuai_final
20160625 cloud samuai_final20160625 cloud samuai_final
20160625 cloud samuai_finalTakano Masaru
 
複数台を利用したVMware vSphere 5.1の導入
複数台を利用したVMware vSphere 5.1の導入複数台を利用したVMware vSphere 5.1の導入
複数台を利用したVMware vSphere 5.1の導入VirtualTech Japan Inc.
 
Interact2015:Host Guardian Service ってなに?(仮)
Interact2015:Host Guardian Service ってなに?(仮)Interact2015:Host Guardian Service ってなに?(仮)
Interact2015:Host Guardian Service ってなに?(仮)wind06106
 
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)Satoshi Shimazaki
 
Hyper-V Replica
Hyper-V ReplicaHyper-V Replica
Hyper-V ReplicaNaoki Abe
 
Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能Syuichi Murashima
 
20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様
20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様
20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様VxRail ChampionClub
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻hirookun
 
Windows Server vNext、仮想化 (Hyper-V) の向上点
Windows Server vNext、仮想化 (Hyper-V) の向上点Windows Server vNext、仮想化 (Hyper-V) の向上点
Windows Server vNext、仮想化 (Hyper-V) の向上点Syuichi Murashima
 
Hyper-V を使おう
Hyper-V を使おうHyper-V を使おう
Hyper-V を使おうwataken44
 
20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様
20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様
20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様VxRail ChampionClub
 

La actualidad más candente (20)

Jcsug21 20140912
Jcsug21 20140912Jcsug21 20140912
Jcsug21 20140912
 
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
 
20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...
20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...
20180222_VxRailccトラブルシューティングセミナー_VxRailサポートチームが語るVxRail Troubleshooting_DellE...
 
VxRail7アップデート情報
VxRail7アップデート情報VxRail7アップデート情報
VxRail7アップデート情報
 
XenServer Overview
XenServer OverviewXenServer Overview
XenServer Overview
 
Hyper vを理解する
Hyper vを理解するHyper vを理解する
Hyper vを理解する
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
 
Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術
 
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
 
20160625 cloud samuai_final
20160625 cloud samuai_final20160625 cloud samuai_final
20160625 cloud samuai_final
 
複数台を利用したVMware vSphere 5.1の導入
複数台を利用したVMware vSphere 5.1の導入複数台を利用したVMware vSphere 5.1の導入
複数台を利用したVMware vSphere 5.1の導入
 
Interact2015:Host Guardian Service ってなに?(仮)
Interact2015:Host Guardian Service ってなに?(仮)Interact2015:Host Guardian Service ってなに?(仮)
Interact2015:Host Guardian Service ってなに?(仮)
 
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
 
Hyper-V Replica
Hyper-V ReplicaHyper-V Replica
Hyper-V Replica
 
Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能Windows server technical preview hyper v の新機能
Windows server technical preview hyper v の新機能
 
20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様
20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様
20180222_VxRailccトラブルシューティングセミナー_vSAN性能試験ベストプラクティス_VM知久様
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻
 
Windows Server vNext、仮想化 (Hyper-V) の向上点
Windows Server vNext、仮想化 (Hyper-V) の向上点Windows Server vNext、仮想化 (Hyper-V) の向上点
Windows Server vNext、仮想化 (Hyper-V) の向上点
 
Hyper-V を使おう
Hyper-V を使おうHyper-V を使おう
Hyper-V を使おう
 
20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様
20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様
20171207 VxRailチャンピオンクラブ meetup_dell emc 小野様
 

Similar a 脱VM!! リモートコンテナによる開発

仮想化技術の基本の基本
仮想化技術の基本の基本仮想化技術の基本の基本
仮想化技術の基本の基本terada
 
Dev cloudではじめるcloudstack4 3
Dev cloudではじめるcloudstack4 3Dev cloudではじめるcloudstack4 3
Dev cloudではじめるcloudstack4 3Tadashi Mishima
 
Technology Used in Virtual Machine (Jan 2008)
Technology Used in Virtual Machine (Jan 2008)Technology Used in Virtual Machine (Jan 2008)
Technology Used in Virtual Machine (Jan 2008)Kuniyasu Suzaki
 
コンテナ今昔物語_2021_12_22
コンテナ今昔物語_2021_12_22コンテナ今昔物語_2021_12_22
コンテナ今昔物語_2021_12_22勇 黒沢
 
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編Satoshi Shimazaki
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティKuniyasu Suzaki
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会samemoon
 
Dell EMC の Azure Stack と GPU
Dell EMC の Azure Stack と GPUDell EMC の Azure Stack と GPU
Dell EMC の Azure Stack と GPUHiroshi Matsumoto
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 
第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料
第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料
第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会axsh co., LTD.
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 
20120609 cod ws2012概要
20120609 cod ws2012概要20120609 cod ws2012概要
20120609 cod ws2012概要Osamu Takazoe
 
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介シスコシステムズ合同会社
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたTech Summit 2016
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたTech Summit 2016
 
クラウド概略(ノート)
クラウド概略(ノート)クラウド概略(ノート)
クラウド概略(ノート)真乙 九龍
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!Hirotaka Sato
 

Similar a 脱VM!! リモートコンテナによる開発 (20)

仮想化技術の基本の基本
仮想化技術の基本の基本仮想化技術の基本の基本
仮想化技術の基本の基本
 
Dev cloudではじめるcloudstack4 3
Dev cloudではじめるcloudstack4 3Dev cloudではじめるcloudstack4 3
Dev cloudではじめるcloudstack4 3
 
Technology Used in Virtual Machine (Jan 2008)
Technology Used in Virtual Machine (Jan 2008)Technology Used in Virtual Machine (Jan 2008)
Technology Used in Virtual Machine (Jan 2008)
 
コンテナ今昔物語_2021_12_22
コンテナ今昔物語_2021_12_22コンテナ今昔物語_2021_12_22
コンテナ今昔物語_2021_12_22
 
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
OSC 2012 Fukuoka
OSC 2012 FukuokaOSC 2012 Fukuoka
OSC 2012 Fukuoka
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
Dell EMC の Azure Stack と GPU
Dell EMC の Azure Stack と GPUDell EMC の Azure Stack と GPU
Dell EMC の Azure Stack と GPU
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 
第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料
第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料
第25回「デスクトップ仮想化にLinuxも必要でしょ?今勢いのあるVERDEを学んでみよう」(2013/02/21 on しすなま!) ①ORIZON様資料
 
Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会Wakame Project - 自作クラウド研究会
Wakame Project - 自作クラウド研究会
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
20120609 cod ws2012概要
20120609 cod ws2012概要20120609 cod ws2012概要
20120609 cod ws2012概要
 
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介
 
第4回「クラウドを支えるKVMの現在と未来」(2011/07/07 on しすなま!)
第4回「クラウドを支えるKVMの現在と未来」(2011/07/07 on しすなま!)第4回「クラウドを支えるKVMの現在と未来」(2011/07/07 on しすなま!)
第4回「クラウドを支えるKVMの現在と未来」(2011/07/07 on しすなま!)
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
クラウド概略(ノート)
クラウド概略(ノート)クラウド概略(ノート)
クラウド概略(ノート)
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
 

脱VM!! リモートコンテナによる開発