Submit Search
Upload
Docker in production
•
0 likes
•
707 views
Yoichi Toyota
Follow
Dockerを本番で使おうとして死んだ話
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 28
Download now
Download to read offline
Recommended
[Intermediate 04] ブロックチェーンの動作原理
[Intermediate 04] ブロックチェーンの動作原理
Yuto Takei
あたらしい伺かを動かしてみたはなし
あたらしい伺かを動かしてみたはなし
kiki utagawa
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
Daigou Harada
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker
Kenzo Nagahisa
Res net
Res net
Hayashi Kentaro
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux
Takayoshi Tanaka
Github入門2014
Github入門2014
Akihiko Shirai
Recommended
[Intermediate 04] ブロックチェーンの動作原理
[Intermediate 04] ブロックチェーンの動作原理
Yuto Takei
あたらしい伺かを動かしてみたはなし
あたらしい伺かを動かしてみたはなし
kiki utagawa
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
Daigou Harada
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker
Kenzo Nagahisa
Res net
Res net
Hayashi Kentaro
20170311 Developing & Deploying .NET Core on Linux
20170311 Developing & Deploying .NET Core on Linux
Takayoshi Tanaka
Github入門2014
Github入門2014
Akihiko Shirai
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
softlayerjp
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
Dockerで作るd3.jsインタラクション共有&DL環境
Dockerで作るd3.jsインタラクション共有&DL環境
Nao Oec
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
xyzplus_net
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
Masahito Zembutsu
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
Takehara Ryo
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
decode2016
Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?
Masahito Zembutsu
20201127 .NET 5
20201127 .NET 5
Takayoshi Tanaka
オトナのDocker入門
オトナのDocker入門
Tsukasa Kato
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
KokiMakita1
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
Tetsurou Yano
超フランクにスクラムの大事なことの話をする
超フランクにスクラムの大事なことの話をする
Yoichi Toyota
ジャワカレーをおいしく作る最後の一押し
ジャワカレーをおいしく作る最後の一押し
Yoichi Toyota
More Related Content
Similar to Docker in production
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
softlayerjp
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
Masahito Zembutsu
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
Dockerで作るd3.jsインタラクション共有&DL環境
Dockerで作るd3.jsインタラクション共有&DL環境
Nao Oec
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
xyzplus_net
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
Masahito Zembutsu
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
Takehara Ryo
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
decode2016
Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?
Masahito Zembutsu
20201127 .NET 5
20201127 .NET 5
Takayoshi Tanaka
オトナのDocker入門
オトナのDocker入門
Tsukasa Kato
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
KokiMakita1
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
Tetsurou Yano
Similar to Docker in production
(20)
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
Dockerで作るd3.jsインタラクション共有&DL環境
Dockerで作るd3.jsインタラクション共有&DL環境
捕鯨!詳解docker
捕鯨!詳解docker
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
Docker 17.06 Updates 最近何が変わったの?
Docker 17.06 Updates 最近何が変わったの?
20201127 .NET 5
20201127 .NET 5
オトナのDocker入門
オトナのDocker入門
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
More from Yoichi Toyota
超フランクにスクラムの大事なことの話をする
超フランクにスクラムの大事なことの話をする
Yoichi Toyota
ジャワカレーをおいしく作る最後の一押し
ジャワカレーをおいしく作る最後の一押し
Yoichi Toyota
ライブラリを作る思考回路
ライブラリを作る思考回路
Yoichi Toyota
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
Yoichi Toyota
はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計
Yoichi Toyota
オブジェクト指向についてあまり知られていないこと
オブジェクト指向についてあまり知られていないこと
Yoichi Toyota
Ruby is comming ractor編
Ruby is comming ractor編
Yoichi Toyota
array.map(&:key)ってなんやねん
array.map(&:key)ってなんやねん
Yoichi Toyota
はじめてのPull Request
はじめてのPull Request
Yoichi Toyota
Railsの開発環境作るぞ
Railsの開発環境作るぞ
Yoichi Toyota
jqで極めるシェル芸の話
jqで極めるシェル芸の話
Yoichi Toyota
足し算をつくろう
足し算をつくろう
Yoichi Toyota
React Hooksでカスタムフックをつくろう
React Hooksでカスタムフックをつくろう
Yoichi Toyota
ActionCableのクライアントはRails外から利用できるのか
ActionCableのクライアントはRails外から利用できるのか
Yoichi Toyota
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
Yoichi Toyota
SPA時代のOGPとの戦い方
SPA時代のOGPとの戦い方
Yoichi Toyota
AWS WAFでらくらくファイアーウォール生活
AWS WAFでらくらくファイアーウォール生活
Yoichi Toyota
How to fight against “full scratch disease”
How to fight against “full scratch disease”
Yoichi Toyota
Amazon lexを触ってみた
Amazon lexを触ってみた
Yoichi Toyota
Forkwell Meetup #3 Productivity Engineering スポンサーLT - 株式会社エクストーン
Forkwell Meetup #3 Productivity Engineering スポンサーLT - 株式会社エクストーン
Yoichi Toyota
More from Yoichi Toyota
(20)
超フランクにスクラムの大事なことの話をする
超フランクにスクラムの大事なことの話をする
ジャワカレーをおいしく作る最後の一押し
ジャワカレーをおいしく作る最後の一押し
ライブラリを作る思考回路
ライブラリを作る思考回路
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計
オブジェクト指向についてあまり知られていないこと
オブジェクト指向についてあまり知られていないこと
Ruby is comming ractor編
Ruby is comming ractor編
array.map(&:key)ってなんやねん
array.map(&:key)ってなんやねん
はじめてのPull Request
はじめてのPull Request
Railsの開発環境作るぞ
Railsの開発環境作るぞ
jqで極めるシェル芸の話
jqで極めるシェル芸の話
足し算をつくろう
足し算をつくろう
React Hooksでカスタムフックをつくろう
React Hooksでカスタムフックをつくろう
ActionCableのクライアントはRails外から利用できるのか
ActionCableのクライアントはRails外から利用できるのか
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
SPA時代のOGPとの戦い方
SPA時代のOGPとの戦い方
AWS WAFでらくらくファイアーウォール生活
AWS WAFでらくらくファイアーウォール生活
How to fight against “full scratch disease”
How to fight against “full scratch disease”
Amazon lexを触ってみた
Amazon lexを触ってみた
Forkwell Meetup #3 Productivity Engineering スポンサーLT - 株式会社エクストーン
Forkwell Meetup #3 Productivity Engineering スポンサーLT - 株式会社エクストーン
Docker in production
1.
Docker in Production PIZZA_JP
#3 @rs_wisteria
2.
Agenda ● Docker in
Production ● Challenging Amazon ECS (2 years ago) ● Docker base blue-green deployment
3.
Docker in Production
4.
夢の環境
5.
物理構成に 依存しない とか
6.
環境構築が 楽そうだとか
7.
サーバー資源 節約できそう とか
8.
デプロイが 簡単そうとか
9.
冗長化とか 強そうとか
10.
そんな イメージ
11.
でした
12.
考え方の誤りに気づく docker container =
program + environment なんだけど、なんとなく lightweightなVMくらいの感じでいた
13.
Docker化による影響 プログラムの副作用が見えなくなる ● ログとか ● 中間生成物のファイルとか ●
その他環境に及ぼす影響など 明確に出力として定義する必要がある
14.
定義すること ● プログラムに渡す引数 ● 公開するport番号 ●
共有するファイル・ディレクトリ ● etc...
15.
本番環境で困ること ● 管理系のプログラムとの連携 ○ 性能監視とか ○
ログローテートとか ○ etc.
16.
Challenging Amazon ECS (2 years
ago)
17.
Amazon ECS AWSのdockerコンテナサービス ● クラスターによるEC2インスタンスの管理 ○
docker-machine, docker-swarmのお仕事 ● タスク定義によるアプリケーションのdocker設定まとめ ○ docker-composeのお仕事 ● AWS他サービスのインテグレーション ○ コンテナのLB対応等
18.
Blue-Green Deployments ● 無停止デプロイ方法の一つ ○
Blue: 現在稼働しているインフラ系統 ○ Green: デプロイ対象のインフラ系統 ○ デプロイ完了後、LB等で稼働しているインフラをBlueから Greenに切り替える ○ Blueはそのうち捨てる
19.
DockerでのBlue-Green Deployment コンテナレベルでBlue-Green Deploymentを実行 ●
デプロイ時に新しいコンテナを作成・起動 ● 起動後にLBでアクセスを新しいコンテナへ向ける ● 古いコンテナを削除
20.
Amazon ECSでの問題点 ● コンテナ外での操作が多い ○
ECS上で制御する方法が無い ● デプロイ時にリソースを2倍必要とする ○ インスタンス上にデプロイ時のためだけに、常にリソースを 半分空けておく必要がある
21.
結局 ECSの利用を諦めた ● 全部シェルスクリプトで書いた ● そのうちリベンジしたい
22.
Docker base blue-green deployments
23.
方針 ● docker-composeでblue/greenを定義 ○ デプロイ時にシェルスクリプトで頑張る ■
現在起動している系統を調べる (blue or green) ■ 現在起動していない系統を立ち上げる ■ 立ち上げたコンテナのポート番号調べる ■ nginxの設定書き換えて再起動する ■ 古い系統を消す
24.
ログローテート ローテート前にプロセスにシグナル送ることが多い → pidが分からない問題 → pidがコンテナ毎に独立しているため、pidファイル見ても意味が 無い →
さらにローテートにプロセス再起動が必要な場合、コンテナが 終了する
25.
ログローテート ● 諦めてcopytruncateで動かす ○ そもそもrailsのpuma使うと、シグナル渡しても駄目だし… ●
厳密さが必要ならばcloudwatch logsの採用を検 討しましょう
26.
冗長化 サーバー毎にblue-green deploymentする必要 ● とても面倒 ●
リソース (EC2 instance)とコンテナを独立して管理するのが大 変 ○ docker-swarmを使わざるを得ない ○ LB対応も自力で行う必要があり
27.
Contribution
28.
Docker in Production? ●
茨の道ではあるが出来る ○ 発想とシェルスクリプトの勝利 ■ プロダクト毎に考えるのはさすがに面倒 ○ 今ならECSでがっつり頑張る ■ ECRもサービスインしたことだし、privateなdocker registryからpullする仕 組みを作るのは格段に楽になった ■ 監視とかログとか全部AWSのサービスに投げよう ○ どちらにせよ、docker周辺の知識は結構いる ■ 無いなら無理にやらなくてもいいと思う
Download now