Weitere ähnliche Inhalte Ähnlich wie Docker 再入門 2016 update (20) Mehr von Shiojiri Ohhara (20) Docker 再入門 2016 update1. Docker 再入門 2016 update
@長野県塩尻市
日時:2016年11月26日(土曜日)
会場:塩尻インキュベーションプラザ
Twitterハッシュタグ #shiojiri-oss
6. インストール方法
• Linux Kernel 3.10以降のLinux 64bit環境
• インストール方法
Dockerの公式インストール用スクリプト
最新のDocker Engineが利用出来ます。
$ curl -fsSL https://get.docker.com/ | sh
10. 2016年 Windowsの場合
• 2016年にDocker for Windows登場!
Windows 10 Pro, Enterprise and Education
OSネイティブのハイパーバイザー Hyper-V対応
VirtualBoxと共存不可
Docker Toolboxは削除
ホストOS側のPowerShellから透過的に利用
その他のWindowsではDocker Toolboxを利用
MicrosoftのWindowsコンテナ類とは別物
12. 2016年 MacOSの場合
• 2016年にDocker for Mac登場!
macOS 10.10.3 Yosemite 以降
OSネイティブのハイパーバイザー
Hypervisor Frameworkに対応
Docker用にxhyveベースのHyperKitを導入
VirtualBoxと共存可能
Docker Toolboxは削除
ホストOS側のターミナルから透過的に利用
15. Docker Engineの動作確認
• Hello Worldを表示させてみます。
$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
24. Docker Compose
• docker-compose ps
プロジェクトのコンテナの一覧表示
docker psコマンドと比較してみよう!
• docker-compose stop
プロジェクトのコンテナの一括停止
• docker-compose rm
プロジェクトのコンテナの一括削除
29. Docker Machine
• ローカル側で仮想マシン(VM)別ホストを作成
• Hyper-Vの場合
• VirtualBoxの場合
• 適当なドライバーを指定することで、default名
のVM(中はBoot2Docker)が作成出来る。
> docker-machine create --driver hyperv default
$ docker-machine create --driver virtualbox default
30. Docker Machine
• docker-machine ls
作成したリモートホストの一覧表示
• docker-machine ip ホスト名
指定したリモートホストのIPアドレス表示
• docker-machien ssh ホスト名
指定したリモートホストへsshログイン
普通にexitコマンドで抜け出る事が出来ます。
31. Docker Machine
• docker-machine env ホスト名
デプロイ対象の環境変数を表示
元に戻す場合は-uオプション
• デプロイ対象の変更を実行する時は、envで表
示された最終行のコマンドを別途実行します。
• ローカルホストのターミナルでdockerコマンドを
実行するとローカルホスト側ではなくリモートホ
スト側にデプロイします。
38. Docker Swarm mode
• 別ホストを3個作成します。
• 区別しやすい適当なホスト名
• VirtualBoxの場合
• 作成した各ホストを一覧表示して確認
docker-machine ls
$ docker-machine create -d virtualbox node1
$ docker-machine create -d virtualbox node2
$ docker-machine create -d virtualbox node3
39. Docker Swarm mode
• Managerノードをホストに設定します。
• SSHログインしてSwarm modeに設定
• トークン付のコマンドが表示されるので、メモし
て後でworkerノード登録に使用します。
• Swarm modeの状態確認
docker info
docker node ls
$ docker swarm init --advertise-addr 192.168.99.11
40. Docker Swarm mode
• Workerノードをホストに設定します。
• SSHログインしてManagerノード登録時に表示
されたトークン付のコマンドを実行する。
• 残りのホストも同様に設定する。
• クラスタの全ノード状態をManagerノードにSSH
ログインして確認する。
docker node ls
41. Docker Swarm mode
• Dockerコンテナサービスをデプロイ
• サービスの状態を確認する。
docker service ls
docker service inspect --pretty helloworld
docker service ps helloworld
docker ps
$ docker service create --replicas 1 --name helloworld ¥
alpine ping docker.com
42. Docker Swarm mode
• Workerノードへコンテナをスケール
• 3個のノードで5つのコンテナが実行されます。
• サービスの状態を確認する。
docker service ps helloworld
docker ps
$ docker service scale helloworld=5
43. Docker Swarm mode
• 複数ノードの複数コンテナを一括削除
• サービスの状態を確認する。
docker service ps helloworld
docker ps
docker service inspect helloworld
$ docker service rm helloworld
44. その他のDockerプロジェクト
• Docker for AWS/Azure
AWSやAzureの機能をDocker Swarmで利用
• Docker Cloud
パブリッククラウドとDocker Hubの統合管理
時間単位の課金
• Docker Datacenter
オンプレミスのデータセンター用