Post on 21-Jan-2018
Saki Homma(@sakkuru)
Microsoft Japan
Commercial Software Engineering
Technical Evangelist
本間咲来 / Saki Homma
さっくる @sakkuru
Technical Evangelist
Web 開発や JavaScript/TypeScript/Node.js が得意分野
Azure全般 や Visual Studio Code, IoT についてのエバンジェ
リスト活動を行う
Session Agenda
o コンテナとは、Docker とは
o Web App for Containerso Docker コンテナを作ってデプロイする
o 導入事例紹介
o CI/CD 環境を構築する
コンテナとはDockerとは
Infrastructure Infrastructure
Host Operating System
Hypervisor
Guest OS
Bins/Libs
App 1
Guest OS
Bins/Libs
App 2
Guest OS
Bins/Libs
App 3
Bins/Libs
App/Svc 1
Bins/Libs
App/Svc 2
Bins/Libs
App/Svc 3
Container Engine
Operating System
+ Network isolation at container level+ Resources constraints at container level
Web App for Containers
Dockerコンテナを作ってみよう
Dockerfile Docker Image Docker Container
Docker Hub Web App for Containers
Build Run
Push SSHPull
Attach
Container
Tcp:2222
Azure Portal
こちら
https://docs.microsoft.com/ja-jp/azure/app-service/containers/app-service-linux-ssh-
support
FROM ubuntu:16.04
RUN apt-get update \&& apt-get install -y --no-install-recommends openssh-server \&& mkdir /var/run/sshd \&& echo "root:Docker!"| chpasswd
COPY sshd_config /etc/ssh/
EXPOSE 2222
RUN echo This is a simple contaier! > /tmp/check.txt
CMD ["/usr/sbin/sshd","-D"]
Source Code: https://github.com/sakkuru/Simple-Ubuntu-SSH-Container.git
Docker Hub: sakkuru/simple-ubuntu-ssh-container
Source Code: https://github.com/sakkuru/Simple-Ubuntu-SSH-Container.git
Docker Hub: sakkuru/simple-ubuntu-ssh-container
導入事例
Web App for Containers や Azure Media Services の利便性の高さから、
データサイエンティスト育成用の e-learning システムをAWSのIaaS環境から Azure へ移行
• 2日間で AWS から Azure へ移行完了• さらに CI/CD ツールを導入し、より開発と運用のコストを下げる仕組みに
Source Code: https://github.com/sakkuru/Ubuntu-Express-SSH-container.git
Docker Hub: sakkuru/ubuntu-express-ssh-container
Container
TCP:2222
TCP:8080TCP:80/443
• 下記プラグインを追加(Suggested plugins で入る)
• Docker CE をインストールしておく
Client ID
Client Secret
Tenant ID
Subscription ID
Appendix 参照
便利な機能
Container
Tcp:2222
Azure Portal
Microsoft Developers
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
Jenkins サーバのURL/github-webhook/
URLは適当で大丈夫
Web App for Container で使用するサブスクリプションを選択
Active Directory に登録したアプリの名前
• Subscription ID = サブスクリプション ID• Client ID = アプリケーション ID• Client Secret = キー• Tenant ID = ディレクトリ ID
デプロイメントスロットの名前