Submit Search
Upload
Dockerでデプロイ
•
2 likes
•
1,338 views
O
oshiro_seiya
Follow
Docker Swarm mode + docker stack deploy を用いたデプロイ方法の検討
Read less
Read more
Internet
Report
Share
Report
Share
1 of 54
Download now
Download to read offline
Recommended
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Naoki Nagazumi
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
Masahito Zembutsu
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
Recommended
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Naoki Nagazumi
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
Masahito Zembutsu
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
Docker入門
Docker入門
Keita Midorikawa
小さく始める Docker container の deploy
小さく始める Docker container の deploy
Yoshinori Teraoka
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Masahito Zembutsu
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Masahito Zembutsu
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Masahito Zembutsu
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
Naoki Nagazumi
Docker 1.12 の衝撃
Docker 1.12 の衝撃
Yoshinori Teraoka
Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較
Yoshinori Teraoka
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
Dockerクイックツアー
Dockerクイックツアー
Etsuji Nakai
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
Masahito Zembutsu
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
Masaomi Kudo
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
オトナのDocker入門
オトナのDocker入門
Tsukasa Kato
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Masahito Zembutsu
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
Masahito Zembutsu
More Related Content
What's hot
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
Docker入門
Docker入門
Keita Midorikawa
小さく始める Docker container の deploy
小さく始める Docker container の deploy
Yoshinori Teraoka
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Masahito Zembutsu
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Masahito Zembutsu
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Masahito Zembutsu
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
Naoki Nagazumi
Docker 1.12 の衝撃
Docker 1.12 の衝撃
Yoshinori Teraoka
Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較
Yoshinori Teraoka
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
Dockerクイックツアー
Dockerクイックツアー
Etsuji Nakai
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
Masahito Zembutsu
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
Masaomi Kudo
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
オトナのDocker入門
オトナのDocker入門
Tsukasa Kato
What's hot
(20)
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門
Docker入門
小さく始める Docker container の deploy
小さく始める Docker container の deploy
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
Docker 1.12 の衝撃
Docker 1.12 の衝撃
Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較
捕鯨!詳解docker
捕鯨!詳解docker
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Dockerクイックツアー
Dockerクイックツアー
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker Compose 徹底解説
Docker Compose 徹底解説
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
オトナのDocker入門
オトナのDocker入門
Similar to Dockerでデプロイ
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Masahito Zembutsu
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
Masahito Zembutsu
Docker講習会資料
Docker講習会資料
teruyaono1
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
Circle ci and docker+serverspec
Circle ci and docker+serverspec
Tsuyoshi Yamada
Docker Tokyo
Docker Tokyo
cyberblack28 Ichikawa
コンテナ on Windows
コンテナ on Windows
Tsubasa Nomura
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
Ryo Nakamaru
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Suguru Yazawa
20170124 linux basic_2
20170124 linux basic_2
YUSUKE MORIZUMI
2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム
TomoyaTakegoshi
コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~
Ryosuke Uchiyama
Dockerハンズオン
Dockerハンズオン
Kazuyuki Mori
Docker超入門
Docker超入門
VirtualTech Japan Inc.
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
Microsoft Corporation
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
Docker実践入門
Docker実践入門
hiro nemu
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
npsg
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
Takashi Makino
Railsの開発環境作るぞ
Railsの開発環境作るぞ
Yoichi Toyota
Similar to Dockerでデプロイ
(20)
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
Docker講習会資料
Docker講習会資料
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Circle ci and docker+serverspec
Circle ci and docker+serverspec
Docker Tokyo
Docker Tokyo
コンテナ on Windows
コンテナ on Windows
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
Newcomer2020 Docker研修
Newcomer2020 Docker研修
20170124 linux basic_2
20170124 linux basic_2
2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム
コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~
Dockerハンズオン
Dockerハンズオン
Docker超入門
Docker超入門
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Docker実践入門
Docker実践入門
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
Railsの開発環境作るぞ
Railsの開発環境作るぞ
Dockerでデプロイ
1.
Dockerでデプロイ 大城 聖也
2.
自己紹介 株式会社シーエ・アドバンス 大城 聖也@おでん 2
3.
業務内容 アメーバサービスの 監視システム 3
4.
業務内容 オペレーターの分析レポート 4
5.
普段は JavaScript書いてます 5
6.
たまに Ruby(rails)とPHP 書いてます 6
7.
今日話すこと Docker Swarm mode docker
stack deploy 上記を使ったデプロイ方法 7
8.
前提 Dockerってなに?とか docker swarmってなに?とか docker composeってなに?とか 8
9.
知らない人 発表聞いて興味持ったら 懇親会で聞く or 調べて見てください 9
10.
Docker Swarm modeについて docker
1.12から入った機能 クラスタがかんたんに作れる 10
11.
Docker Swarmとの比較 Swarm mode
Docker Swarm クラスタの管理 docker node コマンド Swarmマネージャーがノードを管理 クラスタ上のコンテナ操作 docker service コマンド SwarmマネージャーのAPIにアクセス Swarmマネージャーの追加 不要 必要 KVSのセットアップ 不要 必要 クラスタ間の通信の暗号化 デフォルト有効 別途設定が必要 11
12.
リソースプール Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker Swarm概略図 Swarm マネージャー KVS ノード管理 12
13.
リソースプール Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker Swarm概略図 監視 Swarm マネージャー KVS ノード管理 13
14.
リソースプール Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker Swarm概略図 監視 Swarm マネージャー KVS ノード管理 情報参照 14
15.
リソースプール Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker デーモン ワーカー Swarm ノード Docker Swarm概略図 監視 Swarm マネージャー KVS 命令 ノード管理 情報参照 15
16.
リソースプール Docker Swarm mode概略図 Docker デーモン マネージャー リーダー KVS Docker デーモン ワーカー Docker デーモン ワーカー Docker デーモン ワーカー 命令・監視 16
17.
リソースプール Docker Swarm mode概略図 Docker デーモン マネージャー リーダー KVS Docker デーモン ワーカー Docker デーモン ワーカー Docker デーモン ワーカー Docker デーモン マネージャー KVS Docker デーモン マネージャー KVS 複製
複製 命令・監視 17
18.
Docker Swarmとの比較 Swarm mode
Docker Swarm クラスタの管理 docker node コマンド Swarmマネージャーがノードを管理 クラスタ上のコンテナ操作 docker service コマンド SwarmマネージャーのAPIにアクセス Swarmマネージャーの追加 不要 必要 KVSのセットアップ 不要 必要 クラスタ間の通信の暗号化 デフォルト有効 別途設定が必要 18
19.
コンテナを実行する方法 変わりました 19
20.
コンテナを実行するには Serviceを定義する 20
21.
使い方 例えば nginxコンテナを2つ実行 ポートは80番を公開する 場合 21
22.
Nginx(Port:80) コンテナ ホスト 192.168.99.100 Nginx(Port:80) コンテナ Serviceについて http://192.168.99.100 22
23.
Serviceについて 今まで同じポートに 複数コンテナ紐付けられなかったはず! あとから起動するコンテナ 立ち上がらないはず!! 23
24.
Nginx(Port:80) コンテナ ホスト 192.168.99.100 Nginx(Port:80) コンテナ Serviceについて http://192.168.99.100 24
25.
$ docker service
create --replicas 2 -p 80:80 nginx:latest Serviceコマンド 25
26.
Nginx(Port:80) コンテナ ホスト 192.168.99.100 Nginx(Port:80) コンテナ Serviceについて http://192.168.99.100 26
27.
Ingressについて Serviceでなんで同じポートに 複数コンテナを紐付けられるか? 27
28.
Ingressについて Ingress (オーバーレイネットワーク ) http://192.168.99.100 ホスト 192.168.99.100 Nginx (Port:80) コンテナ Nginx (Port:80) コンテナ Serviceのネットワーク(Port: 80) 28
29.
Ingressについて Ingress(オーバーレイネットワーク ) ホスト 192.168.99.102 http://192.168.99.100 http://192.168.99.101
http://192.168.99.102 Nginx コンテナ Nginx コンテナ ホスト 192.168.99.101 Nginx コンテナ ホスト 192.168.99.100 Nginx コンテナ ServiceNetwork (Port: 80) 29
30.
Ingressについて Ingress(オーバーレイネットワーク ) ホスト 192.168.99.102 http://192.168.99.100 http://192.168.99.101
http://192.168.99.102 Nginx コンテナ Nginx コンテナ ホスト 192.168.99.101 Nginx コンテナ ホスト 192.168.99.100 ServiceNetwork (Port: 80) 30
31.
1台でもSwarmモード使う? ロードバランサー使用可能 ローリングアップデート可能 31
32.
Docker Swarm modeについて 下記で色々お試してます Docker
swarmモードを試してみた 32
33.
docker stack deployについて docker
1.13から入った機能 docker-compose.ymlに デプロイ設定が記述できる 33
34.
追加された設定 デプロイするコンテナ数 同時に更新かけるコンテナの数 次の更新を行うまでの待ち時間 リスタートのポリシー: 失敗した時 34
35.
検討中の構成 Swarm modeでクラスタ化 stackでservice定義管理 常時2つのappコンテナ立てておいて ローリングアップデートする 35
36.
検討中の構成図 ホスト 192.168.99.100 App Service
(Port:80) App コンテナApp コンテナ Ingress(オーバーレイネットワーク ) ブラウザ App Service Network 36
37.
Swarmモード初期化 $ docker swarm
init --advertise-addr 192.168.99.100 37
38.
構成図 ホスト 192.168.99.100 Ingress(オーバーレイネットワーク ) ブラウザ 38
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
40.
デプロイコマンド $ docker stack
deploy --compose-file docker-compose.yml app 40
41.
こうなる ホスト 192.168.99.100 App Service
(Port:80) App コンテナApp コンテナ Ingress(オーバーレイネットワーク ) ブラウザ App Service Network 41
42.
修正加えてビルド&プッシュ $ docker build
-t my-registry/app:v1.1 . $ docker push my-registry/app:v1.1 42
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
44.
デプロイ $ docker stack
deploy --compose-file docker-compose.yml app 使用するイメージのタグを変えてから 44
45.
ローリングアップデート開始 ホスト 192.168.99.100 App Service
(Port:80) App コンテナApp コンテナ Ingress(オーバーレイネットワーク ) ブラウザ App Service Network 45
46.
1つ目のコンテナの更新 ホスト 192.168.99.100 App Service
(Port:80) App コンテナ Ingress(オーバーレイネットワーク ) ブラウザ App Service Network 46
47.
1つ目のコンテナ交換完了 ホスト 192.168.99.100 App Service
(Port:80) App コンテナApp コンテナv1.1 Ingress(オーバーレイネットワーク ) ブラウザ App Service Network 47
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
49.
次のコンテナ更新 ホスト 192.168.99.100 App Service
(Port:80) App コンテナv1.1 Ingress(オーバーレイネットワーク ) ブラウザ App Service Network 49
50.
デプロイの完了 ホスト 192.168.99.100 App Service
(Port:80) App コンテナv1.1App コンテナv1.1 Ingress(オーバーレイネットワーク ) ブラウザ App Service Network 50
51.
サンプル紹介 https://github.com/togana/sam ple-docker-deploy 51
52.
Docker Swarm mode
まとめ Docker Swarmより構築に必要なもの減少! LoadBalancerが内包された! ローリングアップデートが可能に! Serviceというコンテナ実行の定義ができた! 52
53.
docker stack deploy
まとめ Stackにデプロイ定義が書ける! docker-compose.ymlがほぼそのまま使える! buildが使えなくなりimageのみになった! (↑docker stack deployをするときのみ) 53
54.
まとめ Dockerの進化がすごい! ecsとかkubernetesとかが使えない場合でも デプロイやりやすくなっている! 54
Download now