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の技術発表資料です
July 29, 2022
Technology
0
37
開発環境Docker以前、以後
NearMeの技術発表資料です
July 29, 2022
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
OR-Toolsの中⾝ -VRPの解法について-
nearme_tech
0
16
GTFSのデータを Streamlitで可視化してみた
nearme_tech
0
34
Offset / Cursor Paginationについて
nearme_tech
1
25
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
VRPを深層強化学習で解く
nearme_tech
0
66
Let’s go monorepo - intro to Nx.dev
nearme_tech
0
18
Dynamic Vehicle Routing のシミュレーションを Streamlitで作ってみた
nearme_tech
0
62
ログ監視ツールについて調べてみた
nearme_tech
0
55
(インターン生が大学院で行なっている)研究紹介
nearme_tech
0
47
Other Decks in Technology
See All in Technology
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
私が trocco を推す理由
__allllllllez__
1
240
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
1
280
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
530
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
LLM開発・活用の舞台裏@2024.04.25
yushin_n
1
340
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.2k
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
Azureの基本的な権限管理の勉強会
yhana
0
590
MapLibreとAmazon Location Service
dayjournal
1
160
Featured
See All Featured
Being A Developer After 40
akosma
57
580k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Faster Mobile Websites
deanohume
299
30k
Adopting Sorbet at Scale
ufuk
68
8.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Writing Fast Ruby
sferik
621
60k
How to name files
jennybc
65
93k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
Code Reviewing Like a Champion
maltzj
514
39k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Visualization
eitanlees
136
14k
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