Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発をVagrantからDockerへ! / Vagrant to Docker
Search
soudai sone
PRO
September 17, 2019
Technology
1.7k
3
Share
開発をVagrantからDockerへ! / Vagrant to Docker
PHPカンファレンス北海道の登壇資料です
# PHPカンファレンス北海道
https://phpcon.hokkaido.jp/
soudai sone
PRO
September 17, 2019
More Decks by soudai sone
See All by soudai sone
AI時代における具体と抽象の往復 - 日常にチャンスがある / Moving Between the Concrete
soudai
PRO
7
1.8k
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
6
2.8k
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
0
380
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
11
3.5k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
15
6.4k
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
43
11k
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
21
8.6k
コミュニティと計画的偶発性理論 - 出会いが人生を変える / Life-Changing Encounters
soudai
PRO
8
4.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Other Decks in Technology
See All in Technology
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.3k
Chasing Real-Time Observability for CRuby
whitegreen
0
120
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
150
みんなの「データ活用」を支えるストレージ担当から持ち込むAWS活用/コミュニティー設計TIPS 10選~「作れる」より、「続けられる」設計へ~
yoshiki0705
0
250
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
210
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
230
インターネットの技術 / Internet technology
ks91
PRO
0
210
自立を加速させる神器 - EMOasis #11
stanby_inc
0
140
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
340
[OAWTT26][THR1028] Oracle AI Database 26ai へのアップグレード:ベストプラクティスと最新情報
oracle4engineer
PRO
1
110
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
160
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
Scaling GitHub
holman
464
140k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Test your architecture with Archunit
thirion
1
2.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
開発をVagrantからDockerへ! PHPカンファレンス北海道 2019
What is it? 大切なことは最初に 2
3
本書きました 4
What is it? みなさんDocker使ってますか? 5
What is it? まずは開発環境をコンテナ化! 6
あじぇんだ 1. Vagrantの栄光と衰退 2. 黒船(Docker)来訪 3. Dockerの更に先、Docker Compose 4. まとめ
5. 自己紹介 7
あじぇんだ 1. Vagrantの栄光と衰退 2. 黒船(Docker)来訪 3. Dockerの更に先、Docker Compose 4. まとめ
5. 自己紹介 8
Vagrantの栄光と衰退 Vagrantより以前…覚えてますか? 9
古の時代の経験 • Xampの中のバージョンと本番で違う • そもそもWindowsとMacで構築手順が違う • 別アプリのためにパッケージを追加したら 壊れたり... • 職人によるvirtual
host管理 … etc 10
Vagrantの栄光と衰退 Vagrant使ってますか? 11
Vagrantはめちゃ便利 • 開発環境をAll in oneで用意出来る • WindowsでもMacでもLinuxが動く • 環境をきれいに分けられるので別アプリの変更な どの影響を無くせる
• boxの共有でチーム内共有も簡単! 12
Vagrantの栄光と衰退 Vagrant...えぇやん!! 13
Vagrantの栄光と衰退 Vagrant...えぇやん!! ↓ これはある一面では正解 14
Vagrantの栄光と衰退 LAMPの時は IaaS & Vagrant が良かった 15
Vagrantの栄光と衰退 LAMPの時は IaaS & Vagrant でも良かった ↓ APIやデータストア層が増えてくると… 16
LAMPの頃 PHP データストア フレームワーク httpd IaaS=Vagrant 同じAnsibleを実行すれば良い
Web 17
サービスがスケールしてくると… PHP データストア フレームワーク httpd Web APIサーバ NoSQL 18
Vagrantの栄光と衰退 1つのVagrantではデカすぎる 19
Vagrantの栄光と衰退 1つのVagrantではデカすぎる ↓ AnsibleとVMもロール単位で分けよう 20
乱立するVM VM2 VM1 VM3 VM3.5 VM4 VM5 VM5.1 VM6 21
Vagrantの栄光と衰退 混沌と溢れるboxとdisk… 昔よりは圧倒的に良くなったのだけど… 22
Vagrantの栄光と衰退 なるほど、dockerだ!! 23
あじぇんだ 1. Vagrantの栄光と衰退 2. 黒船(Docker)来訪 3. Dockerの更に先、Docker Compose 4. まとめ
5. 自己紹介 24
黒船(Docker)来訪 docker とは? 25
黒船(Docker)来訪 docker とは? ↓ 時間ないからググって 26
Docker時代 カーネル - ディスク - ネットワークなど httpd ブラウザ プロセス単位でコンテナを管理できる
例えば、nginxやApacheとPHPを分離出来る DBもMySQLとPostgreSQLで使い分けたい時は、 DBのコンテナだけを差し替えれば良い OS PHP DB 27
黒船(Docker)来訪 たしかにプロセス単位で 責務を分けれるので便利 28
黒船(Docker)来訪 既存のコンテナを使えば 環境構築が簡単! 29
黒船(Docker)来訪 既存のコンテナを使えば 環境構築が簡単! 野良のDockerイメージを使う場合は、 Dockerファイルや中身の確認は必須 野良をカスタマイズする野良のDockerイメージは、 使わない方が無難 30
黒船(Docker)来訪 でも依存関係とかネットワーク周り とにかく面倒だよね? 31
黒船(Docker)来訪 なるほど、Docker Composeだ!! 32
あじぇんだ 1. Vagrantの栄光と衰退 2. 黒船(Docker)来訪 3. Dockerの更に先、Docker Compose 4. まとめ
5. 自己紹介 33
Dockerの更に先、Docker Compose Docker Compose? 34
Dockerの更に先、Docker Compose Docker Compose? ↓ いい感じにDockerをまとめて扱える 35
Dockerの更に先、Docker Compose yamlを書くのじゃ! 36
version: '2' services: db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: dddjjjzzzddddooooon! MYSQL_DATABASE:
hoge web: build: omicale-web volumes: - .:/myapp ports: - "8888:80" depends_on: - db 37
Dockerの更に先、Docker Compose とにかく便利! 38
Docker Composeのメリット • 開発環境をプロセス単位で管理出来る • 例えばPHPのversionだけ分けたいなど • コンテナのメリットとVagrantのAll in oneを合わた
ような運用が可能 • yamlを共有するだけで環境構築! 39
Docker Composeのデメリット • Windowsの環境構築は罠が多い • コンテナが多いとメモリ足りなくなる • 同じコンテナならどこでも動くは幻想 ◦ 環境変数とかネットワークとか差分はある
• 世の中で言われる便利はテストなど話が中心 ◦ 便利に感じない時は足りない事が他にある 40
あじぇんだ 1. Vagrantの栄光と衰退 2. 黒船(Docker)来訪 3. Dockerの更に先、Docker Compose 4. まとめ
5. 自己紹介 41
まとめ もちろん当初の目的(前述)を 達成したメリットは大きい 42
まとめ さらに運用が回りだせば 得る物も多い 43
まとめ Vagrantで辛くなったら Dockerを考えよう 44
まとめ コンテナだと環境構築が簡単だけど 野良のDockerイメージ要注意 45
まとめ ロールバックが簡単 コンテナの履歴を使って戻せる (buildやコードの調整が不要) 46
まとめ stagingや開発環境の複製が簡単 47
まとめ CI/CDの環境構築がより簡単に ↓ サービスの品質向上へ 48
まとめ 本番環境は一旦置いても コンテナを利用するメリットは多い 49
まとめ 自分たちの解決したい課題に合わせる 50
まとめ 自分たちの解決したい課題に合わせる ↓ 一部から使うことでもメリットはある (例えばテストだけdockerとか) 51
まとめ 運用のことは考えよう 52
あじぇんだ 1. Vagrantの栄光と衰退 2. 黒船(Docker)来訪 3. Dockerの更に先、Docker Compose 4. まとめ
5. 自己紹介 53
自己紹介 曽根 壮大(34歳) 株式会社 オミカレ 副社長 CTO そ ね
たけ とも • 日本PostgreSQLユーザ会 勉強会分科会 担当 • 3人の子供がいます(長女、次女、長男) • 技術的にはWeb/LL言語/RDBMSが好きです • コミュニティが好き 54
婚活といえばオミカレ https://party-calendar.net/ 55
まとめ 技術で課題を解決する 56
まとめ ご清聴ありがとうございました 57