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の技術発表資料です
ReactNative のアップグレード作業が (意外に)楽しかった話
nearme_tech
PRO
2
52
強化学習アルゴリズムPPOの改善案を考えてみた
nearme_tech
PRO
0
6
Apple Containerについて調べて触ってみた
nearme_tech
PRO
0
93
Rust 並列強化学習
nearme_tech
PRO
0
23
並列で⽣成AIにコーディングをやらせる
nearme_tech
PRO
1
140
希望休勤務を考慮したシフト作成
nearme_tech
PRO
0
39
Hub Labeling による高速経路探索
nearme_tech
PRO
0
96
Build an AI agent with Mastra
nearme_tech
PRO
0
78
Rustで強化学習アルゴリズムを実装する vol3
nearme_tech
PRO
0
46
Other Decks in Technology
See All in Technology
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
390
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
1
2k
研究開発と製品開発、両利きのロボティクス
youtalk
1
400
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.2k
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
490
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
170
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
360
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
270
実践AIガバナンス
asei
3
340
Grafana Meetup Japan Vol. 6
kaedemalu
1
200
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.2k
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
340
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
The Cult of Friendly URLs
andyhume
79
6.6k
Done Done
chrislema
185
16k
A designer walks into a library…
pauljervisheath
207
24k
Six Lessons from altMBA
skipperchong
28
4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Statistics for Hackers
jakevdp
799
220k
Documentation Writing (for coders)
carmenintech
73
5k
Music & Morning Musume
bryan
46
6.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
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