Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rails on Dockerとの戦い
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yasutomo Uemori
PRO
December 09, 2017
Programming
56
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rails on Dockerとの戦い
Rails Developer Meetup2017でのLTのスライドになります
Yasutomo Uemori
PRO
December 09, 2017
Transcript
23 slides
Rails on Docker との戦い
自己紹介 植森 康友 株式会社Aiming 主な仕事 WebAPI 開発 devops Docker おじさん
普段のrailsdm では大阪側のスタッフをしてます
最初に LT に向けてスライドを調整していたら時間が全然なかったので 技術的な話をする時間はありません スライドの内容を削ってたらrails の話がなくなりました というわけでrails と全然関係ない話をします
Rails on Docker との戦い タイトルに偽りあり
Docker 化のモチベー ション
Docker 化のモチベー ション
Docker 化のモチベー ション 個人的に大きいのは「 アプリケー ション規格の統一化」 セットアップ方法 → d o
c k e r b u i l d 必要なミドルウェア → docker のみ 起動方法 → d o c k e r r u n デプロイフロー → イメー ジのビルド、push、 起動 コンポー ネントの連携 → docker‑compose、kubernetes → その結果として環境の再構築や複数環境の立ち上げが楽に チームに複数のアプリケーションを開発している人がいると恩恵が大きい
とはいえ問題がなくなるわけではない docker ならではのトラブルや悩みが発生する 学習コスト、 チー ムの習熟度・ 理解度 開発環境 コンテナならではのトラブル
学習コスト、 チー ムの習熟度・ 理解度 easy 出典: ふつうのRails アプリケー ション開発
学習コスト、 チー ムの習熟度・ 理解度 docker の開発フロー に乗っかると d o c
k e r - c o m p o s e b u i l d でビルドする d o c k e r - c o m p o s e u p で起動する d o c k e r - c o m p o s e r u n でコマンド実行する → easy
None
学習コスト、 チー ムの習熟度・ 理解度 慣れてない人はdocker 自体がそもそもeasy ではない 出典: ふつうのRails アプリケー
ション開発
学習コスト、 チー ムの習熟度・ 理解度 例えば、 ラップして使いやすくする 今のプロジェクトは歴史的経緯で「easy = シェルスクリプト」 今までとあまり変わらないフローにすることで導入障壁が減った
開発でdocker を使うとき docker for mac volume めっちゃ遅い mac だと動くけどlinux では動かない
linux だと発生するvolume のpermission denied network エディタとかとの親和性が微妙 gem へのタグジャンプとか gem のコー ドを見たい docker(for mac) と相性が悪いアプリケー ションもある 普段の開発では不便な点も多々 ある docker for macまじでつらい
開発でdocker を使うとき Q. 我々 はdocker 化することで何がしたかったか? A.
開発でdocker を使うとき Q. 我々 はdocker 化することで何がしたかったか? A.
開発でdocker を使うとき docker 化することでしんどくなったら本末転倒 docker であることにこだわらない チー ムにとって楽な方に倒す だいじなこと →
「 できる」 こと 本番とほぼおなじイメー ジを起動できる CI とほぼおなじテストを実行できる セットアップ、 再構築がかんたんにできる
その他、 いろんなトラブル 開発環境 docker のイメー ジビルド時間 環境変数(≒ グロー バル変数) の増殖
CI 環境(in jenkins slave) docker network 作成数が上限に達して死ぬ イメー ジやボリュー ムがディスク圧迫して死ぬ docker‑compose のコンテナ名が被って死ぬ デプロイ環境 private registry docker デー モンの意味不明なエラー ロギングどうする? 話し始めるとキリがない話題なので詳しくは懇親会で
docker での困り事:CI 環境
docker での困り事: デプロイ環境 dockerホストを自前で管理するのはつらい
docker 化で得たもの アプリケー ション規格の統一化 docker 化しておけばとりあえずなんとかなるし動かせる レビュー のしやすい環境 ロー カルでも複数の環境をさくっと立てれる
git worktree → docker‑compose build & up ポー タビリティ デプロイ・CI でもできることがロー カルでもできる デプロイ・CI でも複数の環境をかんたんに立ち上げられる
まとめ: Docker との戦い docker ならではの苦労もあるが、docker 化のメリットは大きい だいじなこと チー ムに合った方法を選ぶ easy
本質(docker 化で解決したかったこと) を忘れない dockerでの導入でも、 「ふだんの開発で気をつけること」こそ重要でした
We are hiring! 株式会社Aiming ではエンジニアを募集しています! Rails に興味がある Devops に興味がある 懇親会でもお話しましょう
More Decks by Yasutomo Uemori
See All by Yasutomo Uemori
よくわかる新収益認識基準
wakaba260
PRO
0
1.7k
いまどきのゲームサーバアーキテクチャ
wakaba260
PRO
1
810
オンラインゲームのRails複数db戦略
wakaba260
PRO
0
100
Active job meets kubernetes
wakaba260
PRO
0
70
Ruby/Rails Benchmarking and Profiling with TDD
wakaba260
PRO
0
99
GCP・GKEで作るスケーラブルなゲーム開発環境
wakaba260
PRO
0
97
サービスクラス、その前に
wakaba260
PRO
0
60
Rubocopとの付き合い方
wakaba260
PRO
0
68
Rails api way in aiming
wakaba260
PRO
0
71
Other Decks in Programming
See All in Programming
Seven New Principles of Software Engineering
yegor256
0
490
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
310
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
640
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
200
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
180
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
370
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.9k
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
230
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
SODA - FACT BOOK(JP)
sodainc
1
40k
protojson における文字化けの扱い
kazuki1023
0
410
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
1
300
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Darren the Foodie - Storyboard
khoart
PRO
5
4.1k
Claude Code のすすめ
schroneko
67
230k
Ruling the World: When Life Gets Gamed
codingconduct
0
440
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
990
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Bash Introduction
62gerente
615
220k