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
48
開発環境Docker以前、以後
NearMeの技術発表資料です
PRO
July 29, 2022
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
Box-Muller法
nearme_tech
PRO
1
14
Kiro触ってみた
nearme_tech
PRO
0
28
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
4
340
ReactNative のアップグレード作業が (意外に)楽しかった話
nearme_tech
PRO
2
93
強化学習アルゴリズムPPOの改善案を考えてみた
nearme_tech
PRO
0
27
Apple Containerについて調べて触ってみた
nearme_tech
PRO
0
350
Rust 並列強化学習
nearme_tech
PRO
0
28
並列で⽣成AIにコーディングをやらせる
nearme_tech
PRO
1
200
希望休勤務を考慮したシフト作成
nearme_tech
PRO
0
48
Other Decks in Technology
See All in Technology
Railsの話をしよう
yahonda
0
130
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
2
620
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
160
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
210
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
220
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
480
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
310
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
160
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
0
170
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
390
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
290
20251010_HCCJP_AdaptiveCloudUpdates
sdosamut
0
120
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Mobile First: as difficult as doing things right
swwweet
224
10k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
A designer walks into a library…
pauljervisheath
209
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Thoughts on Productivity
jonyablonski
70
4.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Agile that works and the tools we love
rasmusluckow
331
21k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
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