SlideShare a Scribd company logo
Dockerの事例紹介
自己紹介
●
名前
– 遠藤博樹
●
所属
– Works Applications
– ATE Div. 技術基盤開発グループ
●
仕事
– 主にインフラ技術の調査と社内展開
目次
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
製品の数と販売形態
開発拠点
エンタープライズ?
●
製品の数が多く環境の入れ替えがよくある
●
古いバージョンの保守が定期的に必要
●
複数の国で同じ製品の開発をしている
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
継続的インテグレーション(CI)
〜製品もバージョンもいっぱいあるんだよ〜
今の開発の流れ
Jenkins GitLab
PullPush
Merge
Request
Hook!
Jobの起動
ビルド/テスト中
Pull
結果の記入
M
erge判
断
(1)(2)(3)
(4)
(5)
(6)
(8)
(7)
(9)
開発者
偉い人
CIの問題点
Jenkins
GitLab
tomcatのライブラリ
足りてないんですけど…
RubyやPythonの
バージョン違うんですけど・・・
Pull
Hardware
OS
ver0.8用実行環境
App ver0.5 Versionが違う!
あれ?
RedisのIP変わりました?
こんなNodeモジュール
知りません
重い…
CIの問題点
Jenkins GitLab
Jenkins
起動
環境準備
最初から
そうすればいいんですよ
Hardware
OS
ver0.5用実行環境
開発者サーバ管理者
Dockerを使ったCI環境
Jenkins GitLab
Pull
Hardware
Linux kernel
Bin/Libs
Docker
daemon ver0.5用環境
App ver0.5
Bin/Libs
Docker run
ビルド/テスト中
Docker
Image
ver0.8用環境
App ver0.8
Bin/Libs
Execute Shell
CI まとめ
CIのビルド/テスト実行環境をDockerで仮想化
●
起動が速いので
– 大量にくるマージリクエストを素早く処理できる
●
環境を簡単にパッケージ・名前付けできるので
– ソースコードと対応する環境を用意できる
評価環境
〜作って終わりじゃないんだよ〜
Web画面を伴う開発の流れ
Jenkins GitLab
M
erge判
断
tomcat
Deploy
結果の記入
偉い人
トラブル発生!
tomcat
Jenkins
DeployDeployDeploy Deploy
大トラブル発生!
tomcat
Jenkins
DeployDeployDeploy Deploy
複数のtomcatを作る手はある
tomcat
Jenkins
Deploy Deploy Deploy Deploy
tomcat tomcat tomcat
:8080 :8081 :8082 :8083
とりあえずDockerを使った
Jenkins
DeployDeployDeploy Deploy
改善した
Jenkins GitLab
docker run/
deploy
Hardware
Linux kernel
Bin/Libs
Docker
daemon Tomcat
war
Bin/Libs
Docker
Image
Tomcat
war
Bin/Libs
Merge
Request
Hook!
ジョブ起動
Jenkins
DeployDeployDeploy Deploy
GitLab
Jenkins GitLab
Marge
適用
Hook!
コンテナ終了処理
Jenkins GitLab
docker rm
Jenkins GitLab
評価まとめ
動作チェック用のアプリ実行環境をDockerで仮想化
●
仮想的に隔離されているので
– 誰かのアプリが問題を起こしても
影響が限定的
●
軽量なので
– 確認時のパフォーマンスにも影響しない
開発環境
〜製品やバージョンごとにあるんだよ〜
開発の問題点
VirtualBox解決案
Dockerを使った開発環境
Hardware
Linux kernel
Bin/Libs
Docker
daemon Libs
xpra
Bin/Libs
Docker
Image
DB/Libs
Bin/Libs
Eclipse
xpra
コンテナ
Eclipse
(1) docker run
xpra
ID=10
(2) sessionxpra
(3) DISPLAY=10; exec eclipse
(4) view
(5) view
ホストPC
開発環境まとめ
開発のセット(Eclipseとかライブラリ)をDockerでパッケージ化
● Docker Registryがあるので
– 必要な環境をPullすれば使える
●
オーバーヘッドがないので
– 開発利用でも十分に利用できる
●
環境がパッケージ化されているので
– 終わったら環境を消すことも簡単
複数拠点DB運用
〜海外拠点もあるんだよ〜
同じデータベースを利用
東京のサーバ使って開発するの
遅いのでなんとかならないですか
オッケー!
Dockerを使ったDB環境
Master
Private Registry
東京
Slave
Private Registry
上海
Hardware
Linux kernel
Bin/Libs
Docker
daemon
DB
Bin/Libs
Hardware
Linux kernel
Bin/Libs
Docker
daemon
DB
Bin/Libs
Push
コピー
Pull
sync LOCAL FILE from S3 Bucket
選択の自由
データベース
今回はオフィス内のサーバ
データベース
DBのまとめ
複数拠点で使用するデータベースをDockerでパッケージ化
●
クラウドごとの差異や物理の違いを吸収できるので
– 状況に合ったインフラを選択し、同一環境を稼働できる
●
環境がパッケージ化されているので
– 同じ構成を東京と海外拠点で利用できる
●
オーバーヘッドがないので
– 開発利用でも十分に利用ができる
●
エンタープライズ?
●
事例紹介
– 継続的インテグレーション
– 評価環境
– 開発環境
– DB運用
●
まとめ
まとめ
●
事例紹介
– CI環境導入
– 開発環境導入
– 評価環境導入
– データベース環境導入
Thank you

More Related Content

PDF
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
PDF
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
PDF
Dockerからcontainerdへの移行
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
PPTX
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PPTX
Azure仮想マシンと仮想ネットワーク
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
Dockerからcontainerdへの移行
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
サポート エンジニアが語る、Microsoft Azure を支えるインフラの秘密
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Azure仮想マシンと仮想ネットワーク

What's hot (20)

PDF
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
PPTX
Keycloakのステップアップ認証について
PDF
3分でわかるAzureでのService Principal
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
PPTX
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
PDF
DockerとPodmanの比較
PPTX
Dockerからcontainerdへの移行
PDF
Keycloak拡張入門
PDF
Google Cloud のネットワークとロードバランサ
PDF
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
PDF
DevOps with Database on AWS
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
PPTX
マイクロサービスにおける 結果整合性との戦い
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
PPTX
コンテナネットワーキング(CNI)最前線
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
Keycloakのステップアップ認証について
3分でわかるAzureでのService Principal
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
DockerとPodmanの比較
Dockerからcontainerdへの移行
Keycloak拡張入門
Google Cloud のネットワークとロードバランサ
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
DevOps with Database on AWS
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
マイクロサービスにおける 結果整合性との戦い
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
コンテナネットワーキング(CNI)最前線
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Ad

Viewers also liked (9)

PDF
Dockerを活用したリクルートグループ開発基盤の構築
PDF
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
PDF
AWSでDockerを扱うためのベストプラクティス
PDF
Docker国内外本番環境サービス事例のご紹介
PDF
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
PDF
Infrastructure as CodeでReNom環境構築入門
PPTX
Docker webinar 20170426−01
PDF
DevOpsを実践し成功に導くための ”はじめの一歩” 20171003
PDF
鯨物語~Dockerコンテナとオーケストレーションの理解
Dockerを活用したリクルートグループ開発基盤の構築
DockerCon SF 2015: Beyond CI to Production Scale PaaS with Docker
AWSでDockerを扱うためのベストプラクティス
Docker国内外本番環境サービス事例のご紹介
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
Infrastructure as CodeでReNom環境構築入門
Docker webinar 20170426−01
DevOpsを実践し成功に導くための ”はじめの一歩” 20171003
鯨物語~Dockerコンテナとオーケストレーションの理解
Ad

Similar to Dockerの事例紹介 (20)

PDF
TDDBC osaka 2012/06/02
PDF
作る人から作りながら運用する人になっていく
PDF
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
PDF
Gui自動テストツール基本
PDF
テスト勉強会よしおか100311 1
PPTX
ISO/IEC DIS 20246 についての(ごく簡単な)説明
PDF
13_B_5 Who is a architect?
PDF
大規模ソフトウェア開発とテストの経験について
PDF
その Web サイト、その Web アプリを最新の IE11 に対応しよう
PDF
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
PPTX
TDDはじめる前に
PDF
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
PDF
Open棟梁プロジェクトの取り組み
PDF
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
PDF
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
PDF
Go azure tfs_service
PDF
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
PDF
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
PDF
市場動向並びに弊社製品の今後の展望について
PDF
OSC2018 hiroshima session slide by OSSC
TDDBC osaka 2012/06/02
作る人から作りながら運用する人になっていく
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
Gui自動テストツール基本
テスト勉強会よしおか100311 1
ISO/IEC DIS 20246 についての(ごく簡単な)説明
13_B_5 Who is a architect?
大規模ソフトウェア開発とテストの経験について
その Web サイト、その Web アプリを最新の IE11 に対応しよう
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
TDDはじめる前に
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Open棟梁プロジェクトの取り組み
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
Go azure tfs_service
A 1-1 tfs on azure で始めるイマドキのソフトウェア開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
市場動向並びに弊社製品の今後の展望について
OSC2018 hiroshima session slide by OSSC

Dockerの事例紹介