SlideShare a Scribd company logo
Java on Azure with Docker container
Java on Azure with Docker container
Java on Azure with Docker container
Java on Azure with Docker container
Java on Azure with Docker container
Java on Azure with Docker container
Java on Azure with Docker container
Java on Azure with Docker container
Windows Server 2016 TP3 から
Docker を利用可能
http://tinyurl.com/
windows-server-on-docker
Docker の基礎
コンテナ
コンテナ・イメージコンテナ実行環境
Linux
イメージ・レポジトリ
Applications
Application
Frameworks
ホスト OS
ホスト OS
Operating system
Operating system
Operating system Operating system
Operating System
Operating System
Locally with:
• Boot2Docker (Linux)
• Hyper V (Windows)
Physical Servers
• Linux (Linux)
• Windows TP3
(Windows)
Clouds
• Azure (Linux & Windows)
Azureオンプレミス Service Providerローカル環境
OSイメージ
ミドルウェア
Web アプリ
環境構築用
のスクリプト
Docker エンジン
ホスト OS
OSイメージ
ミドルウェア
Web アプリ
OSイメージ
ミドルウェア
Web アプリ
Azure
OSイメージ
ミドルウェア
Web アプリ
ADD
CMD
COPY
ENV
EXPOSE
FROM
RUN
Dockerfile から Docker イメージ作成
FROM ubuntu:latest
# Install GlassFish 4
RUN wget -q --no-cookies --no-check-certificate
"http://download.oracle.com/glassfish/4.1/release/glassfis
h-4.1.zip"
RUN mv /glassfish-4.1.zip /usr/local; cd /usr/local; unzip
glassfish-4.1.zip ; rm -f glassfish-4.1.zip ; cd /
ADD start-gf.sh /usr/local/bin/start-gf.sh
RUN chmod 755 /usr/local/bin/start-gf.sh
EXPOSE 8080 4848
ENTRYPOINT ["/usr/local/bin/start-gf.sh”]
Dockerfile の記載例
Java on Azure with Docker container
Java on Azure with Docker container
# sudo docker build -t
yoshio3/glassfish:4.1 .
# sudo docker run -it -p 8080:8080 ¥
yoshio3/glassfish:4.1 /bin/bash
コンテナ利用シーン
Java on Azure with Docker container
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
開発環境
• JDK のバージョン
• アップサーバのバージョン
• MySQL のバージョン
• OS のパッチ適用状況
開発から本番環境までの環境統一は困難
開発環境 テスト環境 本番環境
Java JDK 8 u72 JDK 8 u60 JDK 8 u20
Ruby 2.3.0 2.2.4 2.2.4
MySQL 5.6 5.5 5.5
OS Win/Ubuntu RedHat RedHat
開発から本番環境までの環境統一は困難
開発環境 テスト環境 本番環境
Java
Ruby
MySQL
OS
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
Java on Azure with Docker container
早く 頻繁に 安全に
リリースサイクル改善の課題
DevOps 手法の一覧
• Infrastructure as Code (IaC)
• 継続的インテグレーション
• 自動テスト
• 継続的デプロイ
• リリース管理
• アプリ パフォーマンスの監視
• ロード テストと自動スケーリング
• 可用性監視
• 変更/構成管理
• 機能フラグ
• 環境へのプロビジョニングの自動解除
• セルフサービス環境
• 自動回復 (ロールバックとロールフォワード)
• 仮説に基づく開発
• 運用環境でのテスト
• フォールト挿入
• 使用状況監視/ユーザー テレメトリ
http://www.itproguy.com/devops-practices/
コンテナ1
コンテナn
コンテナ2
コンテナ3
Java on Azure with Docker container
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
1. 可用性
2. 信頼性
3. セキュリティ
4. パフォーマンス
Java on Azure with Docker container
Java on Azure with Docker container
mysql:
image: mysql
ports:
- ":3306"
environment:
MYSQL_USER: mysql
MYSQL_PASSWORD: mysql
MYSQL_DATABASE: mysql-db
myglassfish:
links:
- mysql
image: tyoshio2002/gf-
mysql:latest
ports:
- 8080:8080
- 4848:4848
docker-compose.yml
8080
4848
3306
> docker-compose up -d
3306
> docker-compose scale myglassfish=4
Java on Azure with Docker container
Java on Azure with Docker container
Java on Azure with Docker container
OSイメージ
ミドルウェア
Web アプリ
Azure
OSイメージ
ミドルウェア
Web アプリ
Java on Azure with Docker container
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
MSDNサブスクリプション
Microsoft Azure 無料枠
http://aka.ms/TryAz
http://aka.ms/Free-Azure
FeedBack
Please !!
feedback.azure.com
github.com/Azure/azure-
content
• All about Java on Azure – Azure Blog
• VM Depot
• Azure Java Developer Center (SDK and More)
• Azure Toolkit for Eclipse
• MS Open Tech Tools for IntelliJ
• Java Microsoft Virtual Academy Course
• Azure Chat for Java
Java on Azure with Docker container

More Related Content

Java on Azure with Docker container