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
開発環境Docker以前、以後
Search
NearMeの技術発表資料です
PRO
July 29, 2022
Technology
0
46
開発環境Docker以前、以後
NearMeの技術発表資料です
PRO
July 29, 2022
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
希望休勤務を考慮したシフト作成
nearme_tech
PRO
0
20
Hub Labeling による高速経路探索
nearme_tech
PRO
0
54
Build an AI agent with Mastra
nearme_tech
PRO
0
68
Rustで強化学習アルゴリズムを実装する vol3
nearme_tech
PRO
0
33
Webアプリケーションにおけるクラスの設計再入門
nearme_tech
PRO
1
75
AIエージェント for 予約フォーム
nearme_tech
PRO
2
140
ULID生成速度を40倍にしたった
nearme_tech
PRO
2
51
Amazon AuroraとMongoDBの アーキテクチャを比較してみたら 結構違った件について
nearme_tech
PRO
0
25
GitHub Custom Actionのレシピ
nearme_tech
PRO
0
16
Other Decks in Technology
See All in Technology
How Community Opened Global Doors
hiroramos4
PRO
1
120
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
360
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
340
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
3
230
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
330
フィンテック養成勉強会#54
finengine
0
180
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
260
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
120
MySQL5.6から8.4へ 戦いの記録
kyoshidaxx
1
270
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
850
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
370
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
120
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
BBQ
matthewcrist
89
9.7k
Speed Design
sergeychernyshev
32
1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
GitHub's CSS Performance
jonrohan
1031
460k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Docker and Python
trallard
44
3.4k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Code Reviewing Like a Champion
maltzj
524
40k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Transcript
0 開発環境Docker以前、以後 2022-07-29 第8回NearMe技術勉強会 Kenji Hosoda
1 物理マシン時代 (素のWindows/Mac) • 開発環境を合わせるという悩みがつきもの ◦ Windowsのセットアップ方法とMacのセットアップ方法が違う ◦ Windowsで動いたものがMacで動かない ◦
プログラム言語のバージョンが違うので動かない
2 (ホスト型)仮想マシン時代 (VMWare/VirtualBox) • 統一環境は実現 ◦ 物理マシン上に任意のOSの仮想マシンを構築できる ◦ OSSのUbuntuなどが一般に利用される ◦
物理マシン側をホスト、仮想マシン側をゲストと言う ◦ ホストのエディタでファイルを編集したい場合は、 共有フォルダを利用 • 時間がかかる ◦ マシンの起動に時間かかる(数十秒) ◦ 諸々のセットアップに時間がかかる(数十分から数時間) ▪ ビルドスクリプトを走らせて、諸々のコンパイルを待つ • 時間と共にバージョンが揃わなくなっていく ◦ プログラム言語のバージョン上げ忘れなど
3 コンテナ型仮想マシン時代(Docker) • 仮想マシンの状態を固定化するという発想 ◦ 状態を固定化したもの(イメージ)をビルド/ダウンロード ◦ イメージから状態を復元したもの(コンテナ)を利用 ◦ コンテナはすぐ起動できてすぐ破棄できる(数秒)
◦ コンテナに情報を追加したい場合は環境変数で注入 ◦ コンテナの状態を保存したい場合や、 ホストでファイルを編集したい場合はボリュームを利用 • 状態の固定化において差分更新を実現(差分ビルド) ◦ 状態変化の差分情報(レイヤ)を保持 ◦ ビルドスクリプト(Dockerfile)やソースコードの変更では キャッシュが効くところからビルドを始める ◦ 軽量のベースイメージの登場(Alpine/Slimなど)
4 コンテナ型仮想マシン時代(Docker) 続き • Docker Composeで構成管理 ◦ 環境変数やボリュームの指定などコマンドで行うのが面倒 ◦ 多数のコンテナを立ち上げることが多い
◦ Docker Composeファイルでそれらを簡潔に定義でき、 複雑な構成を一気に構築できる • Dockerの注意点 ◦ パフォーマンス(特にボリューム関連)に注意 ▪ 遅すぎる場合はホストで直接実行する ▪ (マウントオプションで速くなる時もある) ◦ セキュリティに注意 ▪ 設定によってはコンテナからホスト本体に侵入できてしまうので注意 https://docs.docker.com/compose/
5 Thank you