Weitere ähnliche Inhalte Ähnlich wie オトナのDocker入門 (20) Mehr von Tsukasa Kato (20) オトナのDocker入門24. Dockerを使う方法
クライアントOS
Docker for Windows
Docker for Mac
サーバーOS
CoreOS 他 各LinuxディストリビューションやFreeBSDなど
Windows Server 2016 (Windows Server Containers、Hyper-V Containers)
クラウド
Azure Container Service(ACS)
Amazon EC2 Container Service(ECS)
Google Container Engine(GKE)
32. 実際に触ってみよう!
Copyright© 2015, JAZUG All Rights Reserved.
32
一旦止めます
$ sudo docker ps
CONTAINERID IMAGE COMMAND CREATED
STATUS PORTS NAMES
f14512ea4cd9 httpd "httpd-foreground" 4 seconds ago
Up 3 seconds 0.0.0.0:80->80/tcp happy_morse
$ sudo docker stop f14512ea4cd9
33. 実際に触ってみよう!
Copyright© 2015, JAZUG All Rights Reserved.
33
ローカルディスクに公開用ファイルを作って再度起動
します。
$ mkdir /tmp/www
$ vi /tmp/www/index.html
$ sudo docker run -it -p 80:80 -v
/tmp/www/:/usr/local/apache2/htdocs/ -d httpd
<html>
<head><title>test</title></head>
<body>
test
</body>
</html>
35. 実際に触ってみよう!
Copyright© 2015, JAZUG All Rights Reserved.
35
Dockerコンテナ準備
$ sudo docker pull wordpress
$ sudo docker pull mysql
$ sudo docker pull busybox
$ sudo docker create -it -v /var/lib/mysql --name sqldata busybox
$ sudo docker run -it --volumes-from sqldata --name mysql -e
MYSQL_ROOT_PASSWORD=mysql-d -p 3306:3306 mysql
$ sudo docker run -it --name wordpress --link mysql:mysql -p 8080:80
-d wordpress
36. Docker Compose
Copyright© 2015, JAZUG All Rights Reserved.
36
複数コンテナの構築やコンテナ起動時のオプションを
YAMLファイルで管理する仕組み。
ビルド・プルを自動的に依存関係に沿って順番にコン
テナを起動してくれるため、環境構築の際の工数を削
減できる。(同一環境を簡単に構築できる)
37. Docker Compose
Copyright© 2015, JAZUG All Rights Reserved.
37
sqldata:
image: busybox
volumes:
- /var/lib/mysql
container_name: sqldata
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD=mysql
ports:
- "3306:3306"
volumes_from:
- sqldata
container_name: mysql
wordpress:
image: wordpress
links:
- mysql:mysql
ports:
- "8080:80"
42. Windowsで利用できるコンテナの比較
項目 Windows Serverコンテナ Hyper-Vコンテナ
特徴 軽量・高速 高い隔離性
コンテナ
起動:速い
実行:ホスト上のプロセス
起動:遅い
実行:Hyper-Vゲスト上のプロセス
隔離性
• コンテナは同じホストOS上で実
行される
• 他のコンテナの影響を受ける可
能性がある
• コンテナ単位で隔離されるので独
立性が高い
• 他のコンテナの影響をほぼ受けな
い 42
43. Windows コンテナの比較
ハードウェア
Windows Server 2016 Kernel
Docker Engine
Library Library Library
App App App
コンテナ
ハードウェア
Hypervisor
コンテナ
Win
Kernel
Library
App
Win
Kernel
Library
App
Windows Server コンテナ Hyper-Vコンテナ
管理
OS
Docker Engine
コンテナ コンテナコンテナ
43
49. Nano Server
Copyright© 2015, JAZUG All Rights Reserved.
49
Windowsのいくつかの役割を実行するために最適化さ
れたリファクタリングバージョンのWindows Server
容量わずか500MB
起動・展開が早い
GUI・ローカルコンソールはなくリモート管理が前提
Dockerエンジンも動作する
53. Windows Server Containersの展開
Nano Server + IISイメージのダウンロード及び実行
[Powershell]
> docker pull nanoserver/iis
> Docker run -it --name fukuten-nano1-p 80:80 nanoserver/iis
53
57. Azure Container Service
Copyright© 2015, JAZUG All Rights Reserved.
57
テンプレートを使用したDockerクラスターの構成を展
開するサービス
※マネージドサービスではありません
選べるオーケストレーターはDocker Swarm、DC/OSま
たはKubernetesで、各種ツール・APIをサポート
Marathon,Chronosなど
66. Web App on Linux
サポート言語
Node.js(4.5.0,4.4.7,6.2.2,6.6.0,6.9.3)
PHP(5.6.23,7.0.6)
.NET Core(1.0)
Ruby(2.3)
Copyright© 2015, JAZUG All Rights Reserved.
66
67. Web App on Linux
現在提供されているApp ServiceのLinux版
Linux上でのWebアプリのネイティブな実行のサポート
専用App Serivceプランで動作
現在パブリックプレビュー
Dockerのサポート
Copyright© 2015, JAZUG All Rights Reserved.
67
68. Web App on Linux
以下のデプロイ方法をサポート
FTP
ローカル Git
GitHub
Bitbucket
Copyright© 2015, JAZUG All Rights Reserved.
68
69. Web App on Linux
以下のリージョンのみで利用可能(2017/04現在)
米国西部
西ヨーロッパ
東南アジア
Copyright© 2015, JAZUG All Rights Reserved.
69
70. Web App on Linux
Copyright© 2015, JAZUG All Rights Reserved.
70
71. Web App on Linux
Copyright© 2015, JAZUG All Rights Reserved.
71