More Related Content
Similar to Dockerでデプロイ (20)
Dockerでデプロイ
- 11. Docker Swarmとの比較
Swarm mode Docker Swarm
クラスタの管理 docker node コマンド Swarmマネージャーがノードを管理
クラスタ上のコンテナ操作 docker service コマンド SwarmマネージャーのAPIにアクセス
Swarmマネージャーの追加 不要 必要
KVSのセットアップ 不要 必要
クラスタ間の通信の暗号化 デフォルト有効 別途設定が必要
11
- 18. Docker Swarmとの比較
Swarm mode Docker Swarm
クラスタの管理 docker node コマンド Swarmマネージャーがノードを管理
クラスタ上のコンテナ操作 docker service コマンド SwarmマネージャーのAPIにアクセス
Swarmマネージャーの追加 不要 必要
KVSのセットアップ 不要 必要
クラスタ間の通信の暗号化 デフォルト有効 別途設定が必要
18
- 39. 設定ファイル
version: '3' # フォーマットのバージョン
services: # サービス定義
app: # appサービス
image: my-registry/app:latest # 使用するイメージ名
ports: # 外とつなぐポート設定
- '80:80' # 外部に晒すポート:コンテナのポート
deploy: # stack deployの設定
replicas: 2 # コンテナ数
update_config: # アップデートの設定
parallelism: 1 # 同時に更新かけるコンテナの数
delay: 10s # 次の更新を行うまでの待ち時間
restart_policy: # リスタートのポリシー
condition: on-failure # 失敗した時
docker-compose.yml
39
- 43. 設定ファイル
version: '3' # フォーマットのバージョン
services: # サービス定義
app: # appサービス
image: my-registry/app:v1.1 # 使用するイメージ名
ports: # 外とつなぐポート設定
- '80:80' # 外部に晒すポート:コンテナのポート
deploy: # stack deployの設定
replicas: 2 # コンテナ数
update_config: # アップデートの設定
parallelism: 1 # 同時に更新かけるコンテナの数
delay: 10s # 次の更新を行うまでの待ち時間
restart_policy: # リスタートのポリシー
condition: on-failure # 失敗した時
docker-compose.yml
43
- 48. ホスト 192.168.99.100
10秒待ち
ブラウザ
App Service (Port:80)
App コンテナ
Ingress(オーバーレイネットワーク )
新App コンテナ
ホスト 192.168.99.100
App Service (Port:80)
App コンテナApp コンテナv1.1
Ingress(オーバーレイネットワーク )
ブラウザ
App Service Network
48
- 52. Docker Swarm mode まとめ
Docker Swarmより構築に必要なもの減少!
LoadBalancerが内包された!
ローリングアップデートが可能に!
Serviceというコンテナ実行の定義ができた!
52
- 53. docker stack deploy まとめ
Stackにデプロイ定義が書ける!
docker-compose.ymlがほぼそのまま使える!
buildが使えなくなりimageのみになった!
(↑docker stack deployをするときのみ)
53