Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
docker-composeを使って開発とデプロイしてみた / deploy with docker-compose
かとまさ
July 05, 2019
Technology
2
760
docker-composeを使って開発とデプロイしてみた / deploy with docker-compose
かとまさ
July 05, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
GMO pepabo and hey 2022-05-26
katsumataryo
0
120
testing journey / テストが嫌いでIT業界を離れるはずだったのに〜テスト嫌いが現場で品質改善を実施するまでの物語〜
aki_moon
1
450
ドキュメントの翻訳に必要なこと
mayukosawai
0
190
[SRE NEXT 2022]メルカリグループにおけるSREs
srenext
0
680
SRENEXT2022 組織にSREを実装していくまでの道のり
marnie0301
1
930
[AKIBA.AWS] それ、t2.micro選んで大丈夫?
tsukuboshi
0
390
「IoTサービスをつくる人」の「やりたいこと」を「できる」に変える / sakura iot 20220528 algyan 7th anniversary
sakuraiot
0
160
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.1k
信頼性の階層の一段目を積み上げる/Monitoring Dashboard
shonansurvivors
0
190
Learning from AWS Customer Security Incidents [2022]
ramimac
0
1.6k
[SRE NEXT 2022]増大を続けるYahoo! JAPAN Kubernetesクラスタ群キャパシティ管理のモダン化
srenext
0
150
プロダクション環境の信頼性を損ねず観測する技術
egmc
4
990
Featured
See All Featured
A designer walks into a library…
pauljervisheath
196
16k
GraphQLとの向き合い方2022年版
quramy
16
8.1k
The World Runs on Bad Software
bkeepers
PRO
56
5.2k
Support Driven Design
roundedbygravity
86
8.5k
The Power of CSS Pseudo Elements
geoffreycrofte
46
3.9k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
How STYLIGHT went responsive
nonsquared
85
3.9k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Making the Leap to Tech Lead
cromwellryan
113
6.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
103
16k
Transcript
docker-composeを使って 開発とデプロイしてみた @_katomasa
自己紹介 @_katomasa かとまさ(@_katomasa) • 元ソーシャルゲームエンジニア (現在、無職) ◦ ADHD / ASD
/ うつ病 / 糖尿病 (NEW) の四重苦 ◦ KIDDING KIDというグループ立ち上げる • 興味分野: クラウド、仮想化、SRE、機械学習 • 好きな技術: Python、Docker、kubernetes • 好きな食べ物: 寿司、刺身、肉、サラダ • 嫌いな食べ物: 火の通った魚、コーヒー、炭酸 • Docker歴: 1年弱
アジェンダ • 自己紹介 • docker-compose使って開発してみた • docker-composeで本番にデプロイしてみた • まとめ
まえがき • 今回行ったのは、個人でスキル確認のために作ったサービスなので、お仕事で運 用してるサービスとかでは真似しないでください • Vagrant + Ansibleとかと比較したかったけど時間も知識もなかった • 個人による感想なので、技術的な話は出てきません
docker-compose使って開発してみた docker-composeとは • 複数のコンテナをまとめて管理する仕組み • コンテナ周りの設定を宣言的に定義する • シングルホストマシンで動く docker-compose up
Host Web DB Network Volume ディレクトリ
docker-compose使って開発してみた どんな感じの構成か • nginx ◦ リバースプロキシ ◦ volumeで静的ファイル群をマウント • python
◦ アプリケーション ◦ volumeでアプリケーションコードをマウント • mysql ◦ データベース • redis ◦ キャッシュ ◦ volume
docker-compose使って開発してみた どんなフローで開発したか コードを書く docker-compose restart 動作確認
docker-compose使って開発してみた 良かった点 • 簡単に開発環境を構築できる • volumeとかポートとか、各コンテナで必要な環境変数の設定をまとめて管理できる 点 • コンテナ間ではサービス名をドメインにしてアクセスできるのでIPとか考慮しなくて 楽
◦ DBの中身をGUIクライアントで見たいときは `127.0.0.1`にexposeしたポートでアクセスすればよい • 環境を破棄する時も`docker-compose down`コマンドでまとめて破棄できる
docker-compose使って開発してみた 不満だった点 • コンテナの命名ちゃんとしないと、どのディレクトリか忘れる ◦ もし消してた場合、手動でコンテナとかボリュームを消すことになる
docker-compose使って開発してみた まとめ • 環境構築が簡単 • 作った開発環境の管理、破棄も簡単
docker-composeで本番にデプロイしてみた どんな感じの構成か • Google Compute Engine ◦ 仮想マシン x 1
GCE Web DB Network Volume ディレクトリ
docker-composeで本番にデプロイしてみた 良かった点 • GitとDockerとdocker-composeをインストールしただけで環境を立ち上げられた ◦ ソースをcloneして、docker-compose upしただけ • 開発環境と同じような感覚で本番環境も構築できた
docker-composeで本番にデプロイしてみた 不満だった点 • 全コンテナが同じマシン上で動作する ◦ マシンのリソースが共有されているため、どこかがリソースを食うと全部終わる • docker-compose単体での冗長化は難しそう ◦ 複数マシンで立ち上げてもまとめて管理できるわけではない
◦ サービスごとで何個コンテナを立ち上げるとか指定できない
docker-composeで本番にデプロイしてみた まとめ • シングルノードで動かす場合は開発環境と同じように構築できる • 実際の運用でシングルノードで動かすことは......
まとめ • 開発環境を共有するのに適している ◦ 起動までの時間が早い ◦ 手順が簡単 • 開発環境で使うにはいいが、本番環境で使うには色々物足りない ◦
冗長性 ◦ 耐障害性 • 同じファイルで開発環境にも本番環境にも対応できるツール欲しい
ご清聴ありがとうございました