java on azure with docker container
TRANSCRIPT
![Page 1: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/1.jpg)
![Page 2: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/2.jpg)
![Page 3: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/3.jpg)
![Page 4: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/4.jpg)
![Page 5: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/5.jpg)
![Page 6: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/6.jpg)
![Page 7: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/7.jpg)
![Page 8: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/8.jpg)
![Page 9: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/9.jpg)
Windows Server 2016 TP3 からDocker を利用可能
http://tinyurl.com/windows-server-on-docker
![Page 10: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/10.jpg)
Docker の基礎
![Page 11: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/11.jpg)
コンテナ
![Page 12: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/12.jpg)
コンテナ・イメージコンテナ実行環境
Linux
イメージ・レポジトリ
Applications
Application
Frameworks
ホスト OSホスト OS
![Page 13: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/13.jpg)
Operating system
![Page 14: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/14.jpg)
Operating system
Operating system Operating system
![Page 15: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/15.jpg)
Operating System
Operating System
![Page 16: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/16.jpg)
Locally with:
• Boot2Docker (Linux)
• Hyper V (Windows)
Physical Servers
• Linux (Linux)
• Windows TP3 (Windows)
Clouds
• Azure (Linux & Windows)
Azureオンプレミス Service Providerローカル環境
![Page 17: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/17.jpg)
OSイメージ
ミドルウェア
Web アプリ環境構築用
のスクリプト
![Page 18: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/18.jpg)
Docker エンジン
ホスト OS
OSイメージ
ミドルウェア
Web アプリ
OSイメージ
ミドルウェア
Web アプリ
![Page 19: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/19.jpg)
Azure
OSイメージ
ミドルウェア
Web アプリ
ADD
CMD
COPY
ENV
EXPOSE
FROM
RUN
Dockerfile から Docker イメージ作成
![Page 20: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/20.jpg)
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 の記載例
![Page 21: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/21.jpg)
![Page 22: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/22.jpg)
![Page 23: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/23.jpg)
# sudo docker build -t
yoshio3/glassfish:4.1 .
# sudo docker run -it -p 8080:8080 ¥
yoshio3/glassfish:4.1 /bin/bash
![Page 24: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/24.jpg)
コンテナ利用シーン
![Page 25: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/25.jpg)
![Page 26: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/26.jpg)
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
![Page 27: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/27.jpg)
開発環境
• JDK のバージョン• アップサーバのバージョン• MySQL のバージョン• OS のパッチ適用状況
![Page 28: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/28.jpg)
開発から本番環境までの環境統一は困難
開発環境 テスト環境 本番環境
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
![Page 29: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/29.jpg)
開発から本番環境までの環境統一は困難
開発環境 テスト環境 本番環境
Java
Ruby
MySQL
OS
![Page 30: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/30.jpg)
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
![Page 31: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/31.jpg)
![Page 32: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/32.jpg)
早く 頻繁に 安全に
リリースサイクル改善の課題
![Page 33: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/33.jpg)
DevOps 手法の一覧
• Infrastructure as Code (IaC)
• 継続的インテグレーション
• 自動テスト
• 継続的デプロイ
• リリース管理
• アプリ パフォーマンスの監視
• ロード テストと自動スケーリング
• 可用性監視
• 変更/構成管理
• 機能フラグ
• 環境へのプロビジョニングの自動解除
• セルフサービス環境
• 自動回復 (ロールバックとロールフォワード)
• 仮説に基づく開発
• 運用環境でのテスト
• フォールト挿入
• 使用状況監視/ユーザー テレメトリ
http://www.itproguy.com/devops-practices/
![Page 34: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/34.jpg)
コンテナ1
コンテナn
コンテナ2
コンテナ3
![Page 35: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/35.jpg)
![Page 36: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/36.jpg)
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
![Page 37: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/37.jpg)
1. 可用性
2. 信頼性
3. セキュリティ
4. パフォーマンス
![Page 38: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/38.jpg)
![Page 39: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/39.jpg)
![Page 40: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/40.jpg)
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
48483306
![Page 41: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/41.jpg)
> docker-compose up -d
![Page 42: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/42.jpg)
3306
> docker-compose scale myglassfish=4
![Page 43: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/43.jpg)
![Page 44: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/44.jpg)
![Page 45: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/45.jpg)
![Page 46: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/46.jpg)
OSイメージ
ミドルウェア
Web アプリ
Azure
OSイメージ
ミドルウェア
Web アプリ
![Page 47: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/47.jpg)
![Page 48: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/48.jpg)
1. ローカルのアプリ開発&テスト
2. 開発チームのコラボ
3. 継続的インテグレーション
4. 本番環境へのアプリのデプロイ
5. プライベート PaaS 環境の構築
![Page 49: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/49.jpg)
MSDNサブスクリプションMicrosoft Azure無料枠
http://aka.ms/TryAzhttp://aka.ms/Free-Azure
![Page 50: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/50.jpg)
FeedBackPlease !!
feedback.azure.com
github.com/Azure/azure-content
![Page 51: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/51.jpg)
• 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
![Page 52: Java on Azure with Docker container](https://reader033.vdocuments.mx/reader033/viewer/2022050614/5880abb71a28abf32c8b5589/html5/thumbnails/52.jpg)