Suche senden
Hochladen
Rails on Dockerとの戦い
•
4 gefällt mir
•
3,865 views
Yasutomo Uemori
Folgen
Rails Developer Meetup2017でのLTのスライドになります
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 23
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Rubocopとの付き合い方
Rubocopとの付き合い方
Yasutomo Uemori
サービスクラス、その前に
サービスクラス、その前に
Yasutomo Uemori
Ciじゃない方のJenkins
Ciじゃない方のJenkins
Katsuhiro Miura
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
マジカルsvnとキュアgit
マジカルsvnとキュアgit
Takafumi ONAKA
DevOpsって何?
DevOpsって何?
Gosuke Miyashita
Dockerで楽しむ自宅サーバ
Dockerで楽しむ自宅サーバ
祐磨 堀
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
Empfohlen
Rubocopとの付き合い方
Rubocopとの付き合い方
Yasutomo Uemori
サービスクラス、その前に
サービスクラス、その前に
Yasutomo Uemori
Ciじゃない方のJenkins
Ciじゃない方のJenkins
Katsuhiro Miura
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
マジカルsvnとキュアgit
マジカルsvnとキュアgit
Takafumi ONAKA
DevOpsって何?
DevOpsって何?
Gosuke Miyashita
Dockerで楽しむ自宅サーバ
Dockerで楽しむ自宅サーバ
祐磨 堀
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
Takafumi ONAKA
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
Kentaro Iizuka
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
Etsuji Nakai
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
Kohei Saito
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
20160421 react勉強会
20160421 react勉強会
Naoki Kurosawa
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
DroidKaigi - Welcome talk
DroidKaigi - Welcome talk
Masahiro Hidaka
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Kohei Saito
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc.
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
ume3_
社内LTネタ ReactNative
社内LTネタ ReactNative
Oguri Toru
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
Takuya Kawabe
connpass特徴と開発の流れ
connpass特徴と開発の流れ
Ikeda Yosuke
パフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したい
zaru sakuraba
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
xyzplus_net
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
Weitere ähnliche Inhalte
Was ist angesagt?
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
Takafumi ONAKA
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
Kentaro Iizuka
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
Etsuji Nakai
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
Kohei Saito
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
20160421 react勉強会
20160421 react勉強会
Naoki Kurosawa
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
DroidKaigi - Welcome talk
DroidKaigi - Welcome talk
Masahiro Hidaka
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Kohei Saito
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc.
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
ume3_
社内LTネタ ReactNative
社内LTネタ ReactNative
Oguri Toru
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
Takuya Kawabe
connpass特徴と開発の流れ
connpass特徴と開発の流れ
Ikeda Yosuke
パフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したい
zaru sakuraba
Was ist angesagt?
(20)
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
20160421 react勉強会
20160421 react勉強会
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
DroidKaigi - Welcome talk
DroidKaigi - Welcome talk
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
社内LTネタ ReactNative
社内LTネタ ReactNative
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
connpass特徴と開発の流れ
connpass特徴と開発の流れ
パフォーマンス計測Ciサービスを作って得た知見を共有したい
パフォーマンス計測Ciサービスを作って得た知見を共有したい
Ähnlich wie Rails on Dockerとの戦い
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
xyzplus_net
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Masahito Zembutsu
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Yosuke INOUE
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
pastelInc
20180925 docker ecs_fargate
20180925 docker ecs_fargate
Hisayuki Mori
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
MILI-LLC
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
Masahito Zembutsu
捕鯨!詳解docker
捕鯨!詳解docker
雄哉 吉田
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
Daigou Harada
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
Microsoft Corporation
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
Docker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をする
Yoshiaki Yoshida
Dockerで作るd3.jsインタラクション共有&DL環境
Dockerで作るd3.jsインタラクション共有&DL環境
Nao Oec
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Suguru Yazawa
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Masahito Zembutsu
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Tomoya Kitayama
Docker入門
Docker入門
Shun Tsunoda
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
softlayerjp
Ähnlich wie Rails on Dockerとの戦い
(20)
2014.11.01 Dockerことはじめ
2014.11.01 Dockerことはじめ
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
AngularJSを通してDockerと触れ合った
AngularJSを通してDockerと触れ合った
20180925 docker ecs_fargate
20180925 docker ecs_fargate
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
捕鯨!詳解docker
捕鯨!詳解docker
Dockerで開発環境をデリバる
Dockerで開発環境をデリバる
Docker for Windows & Web Apps for Containers 実践活用技法
Docker for Windows & Web Apps for Containers 実践活用技法
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
Docker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をする
Dockerで作るd3.jsインタラクション共有&DL環境
Dockerで作るd3.jsインタラクション共有&DL環境
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Dockerを使ってみよう
Dockerを使ってみよう
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Docker入門
Docker入門
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
Mehr von Yasutomo Uemori
Active job meets kubernetes
Active job meets kubernetes
Yasutomo Uemori
Ruby/Rails Benchmarking and Profiling with TDD
Ruby/Rails Benchmarking and Profiling with TDD
Yasutomo Uemori
GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境
Yasutomo Uemori
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略
Yasutomo Uemori
Rails api way in aiming
Rails api way in aiming
Yasutomo Uemori
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
Yasutomo Uemori
Mehr von Yasutomo Uemori
(6)
Active job meets kubernetes
Active job meets kubernetes
Ruby/Rails Benchmarking and Profiling with TDD
Ruby/Rails Benchmarking and Profiling with TDD
GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略
Rails api way in aiming
Rails api way in aiming
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
Rails on Dockerとの戦い
1.
Rails on Dockerとの戦い
2.
自己紹介 植森 康友 株式会社Aiming 主な仕事 WebAPI開発 devops Dockerおじさん 普段のrailsdmでは大阪側のスタッフをしてます
3.
最初に LTに向けてスライドを調整していたら時間が全然なかったので 技術的な話をする時間はありません スライドの内容を削ってたらrailsの話がなくなりました というわけでrailsと全然関係ない話をします
4.
Rails on Dockerとの戦い タイトルに偽りあり
5.
Docker化のモチベーション
6.
Docker化のモチベーション
7.
Docker化のモチベーション 個人的に大きいのは「アプリケーション規格の統一化」 セットアップ方法 → docker
build 必要なミドルウェア → dockerのみ 起動方法 → docker run デプロイフロー → イメージのビルド、push、起動 コンポーネントの連携 → docker‑compose、kubernetes → その結果として環境の再構築や複数環境の立ち上げが楽に チームに複数のアプリケーションを開発している人がいると恩恵が大きい
8.
とはいえ問題がなくなるわけではない dockerならではのトラブルや悩みが発生する 学習コスト、チームの習熟度・理解度 開発環境 コンテナならではのトラブル
9.
学習コスト、チームの習熟度・理解度 easy 出典:ふつうのRailsアプリケーション開発
10.
学習コスト、チームの習熟度・理解度 dockerの開発フローに乗っかると docker-compose build でビルドする docker-compose up で起動する docker-compose
run でコマンド実行する → easy
11.
12.
学習コスト、チームの習熟度・理解度 慣れてない人はdocker自体がそもそもeasyではない 出典:ふつうのRailsアプリケーション開発
13.
学習コスト、チームの習熟度・理解度 例えば、ラップして使いやすくする 今のプロジェクトは歴史的経緯で「easy = シェルスクリプト」 今までとあまり変わらないフローにすることで導入障壁が減った
14.
開発でdockerを使うとき docker for mac volumeめっちゃ遅い macだと動くけどlinuxでは動かない linuxだと発生するvolumeのpermission
denied network エディタとかとの親和性が微妙 gemへのタグジャンプとか gemのコードを見たい docker(for mac)と相性が悪いアプリケーションもある 普段の開発では不便な点も多々ある docker for macまじでつらい
15.
開発でdockerを使うとき Q. 我々はdocker化することで何がしたかったか? A.
16.
開発でdockerを使うとき Q. 我々はdocker化することで何がしたかったか? A.
17.
開発でdockerを使うとき docker化することでしんどくなったら本末転倒 dockerであることにこだわらない チームにとって楽な方に倒す だいじなこと→ 「できる」こと 本番とほぼおなじイメージを起動できる CIとほぼおなじテストを実行できる セットアップ、再構築がかんたんにできる
18.
その他、いろんなトラブル 開発環境 dockerのイメージビルド時間 環境変数(≒グローバル変数)の増殖 CI環境(in jenkins slave) docker
network作成数が上限に達して死ぬ イメージやボリュームがディスク圧迫して死ぬ docker‑composeのコンテナ名が被って死ぬ デプロイ環境 private registry dockerデーモンの意味不明なエラー ロギングどうする? 話し始めるとキリがない話題なので詳しくは懇親会で
19.
dockerでの困り事:CI環境
20.
dockerでの困り事:デプロイ環境 dockerホストを自前で管理するのはつらい
21.
docker化で得たもの アプリケーション規格の統一化 docker化しておけばとりあえずなんとかなるし動かせる レビューのしやすい環境 ローカルでも複数の環境をさくっと立てれる git worktree →
docker‑compose build & up ポータビリティ デプロイ・CIでもできることがローカルでもできる デプロイ・CIでも複数の環境をかんたんに立ち上げられる
22.
まとめ: Dockerとの戦い dockerならではの苦労もあるが、docker化のメリットは大きい だいじなこと チームに合った方法を選ぶ easy 本質(docker化で解決したかったこと)を忘れない dockerでの導入でも、 「ふだんの開発で気をつけること」こそ重要でした
23.
We are hiring! 株式会社Aimingではエンジニアを募集しています! Railsに興味がある Devopsに興味がある 懇親会でもお話しましょう
Jetzt herunterladen