Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Docker を安全に始めよう ~Docker Hardened Images (DHI) 入門~
Search
suzuki
April 22, 2026
Technology
71
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker を安全に始めよう ~Docker Hardened Images (DHI) 入門~
suzuki
April 22, 2026
More Decks by suzuki
See All by suzuki
Docker の AI 新機能を使ってみよう!
atsushi_suzuki
0
100
GPSの仕組み
atsushi_suzuki
0
520
電圧計測の基礎 -ノイズの原因と対策 -
atsushi_suzuki
0
250
自動車の仕組み
atsushi_suzuki
0
210
【論文紹介】TABULAR TRANSFORMERS FOR MODELING MULTIVARIATE TIME SERIES
atsushi_suzuki
0
230
逆求人アプリにUIルールを適用してみよう
atsushi_suzuki
0
270
presentation_ux_社外用_21060901.pdf
atsushi_suzuki
0
310
真っ白な遷移画面をなんとかしたい
atsushi_suzuki
0
320
Noストレスでアプリ開発したい
atsushi_suzuki
0
280
Other Decks in Technology
See All in Technology
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
860
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.6k
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
430
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
5.3M
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Scaling GitHub
holman
464
140k
Git: the NoSQL Database
bkeepers
PRO
433
67k
We Have a Design System, Now What?
morganepeng
55
8.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Music & Morning Musume
bryan
48
7.4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Transcript
1 Docker を安全に始めよう ~ Docker Hardened Images (DHI) 入門 ~
鈴木 敦 / Atsushi Suzuki
2 鈴木 敦 Atsushi Suzuki LinkedIn Docker Captain AWS Community
Builder Kubestronaut 2020/7 ~ エンジニア人生開始 ~ 2026/3 フロント → AI・インフラ 2026/4 ~ 新天地! かっこよすぎるロゴ 最近なりました それ以前は営業 逆求人、宅配、SaaS 新しいことをやっていきたい
3 発表でお伝えしたいこと Docker をこれから使い始める 業務で試す際のセキュリティも気になる どのイメージを選べばいいか迷っている 何が「安全なイメージ」かわかる 明日から具体的な手順を試す 対象となる方 今日の目標
4 今日お話しすること 1. Docker が選ばれる理由 2. はじめから「安全」に使う理由 3. Docker Hardened
Images(DHI)とは 4. デモ:公式イメージ vs DHI を比較 5. 今日からどう始めるか
5 Docker が選ばれる理由
6 Docker が選ばれる 3 つの理由 環境の再現性: 「自分の PC では動くのに…」がなくなる チームでの統一:全員が同じ環境で開発・テスト・デプロイ
AI 開発との相性:GPU 環境やモデル実行環境をコンテナで配布
7 「動けばいい」で大丈夫? 便利が故に「動けばいい」で済ませがち 業務ではセキュリティの考慮も必要 「とりあえず動く」イメージには不要物が混入している場合も ⇒ 脆弱性の原因 最初から安全な選択をするのが大事
8 はじめから「安全」に使う理由
9 コンテナイメージは「部品」 コンテナイメージはパッケージやライブラリと同じ「部品」 出所不明の部品はサプライチェーン攻撃の入口になりうる FROM のイメージ選択がセキュリティの出発点
10 1 つのコンテナイメージの中には… アプリコード ランタイム(Node.js、Python など) OS パッケージ・共通ライブラリ(数百個) ベース OS(Debian、Alpine
など)= 土台 ベース OS の選択が全体のセキュリティを決める
11 Docker Hardened Images(DHI)とは Docker社が提供するセキュリティ強化済みのイメージ群 CVE(既知の脆弱性)がほぼゼロになるよう継続的にメンテナンス SBOM(部品一覧)や Provenance(ビルド来歴)など、署名付きの証明書が付属 OSS で無料で使える(Apache
2.0 ライセンス) 1000+ イメージから選べる
12 なぜ最初から DHI を選ぶべきか ベースイメージの変更は意外と手間 — 再テスト・再デプロイが必要 最初の FROM で安全なイメージを選んでおくのが一番楽
DHI にはビルド用と実行用があり ⇒ 本番環境には必要最小限だけ入る
13 DHI の制約 = 安全の秘密 特徴 なぜ安全か 実行環境にシェルがない 侵入されても操作できない パッケージ追加ができない
不正なソフトを入れられない 管理者権限がデフォルトで OFF 権限を奪われるリスクが減る
14 デモ
15 デモの全体像 TypeScriptベースの Web サーバーアプリを用意 公式イメージと DHI で同じアプリをビルド FROM 行を変えるだけで何が変わるかを
4 つの観点で比較 # 比較観点 ① Dockerfile の差分 ② イメージサイズ & 脆弱性の数 ③ 証明書の数 ④ シェルの有無
16 デモ① Dockerfile 比較 公式イメージ版と DHI 版の Dockerfile を並べます。 #
公式イメージ版 FROM node:24-trixie-slim AS builder FROM node:24-trixie-slim # DHI 版 FROM dhi.io/node:24-debian13-dev AS builder FROM dhi.io/node:24-debian13 FROM 以外は完全に同じです。
17 デモ② イメージサイズ & 脆弱性の数 # サイズ比較 docker images --format
"table {{.Repository}}\t{{.Tag}}\t{{.Size}}" \ | grep demo # 脆弱性の比較 docker scout compare demo-dhi --to demo-official 「小さい」だけではない 余計なものが少ない → 脆弱性(セキュリティの穴)も少ない
18 デモ③ 証明書の数 # 公式:SBOM とProvenance のみ docker scout attest
list node:24-trixie-slim # DHI :脆弱性スキャンやマルウェアスキャンも含む docker scout attest list dhi.io/node:24-debian13
19 デモ④ シェルの有無 # 公式イメージ — シェルに入れる docker run --rm
-it demo-official /bin/sh # DHI — 失敗する docker run --rm -it demo-dhi /bin/sh DHI の runtime にはシェルがない → 攻撃面が減る build 用と runtime 用を分ける理由がここで腹落ちする
20 まとめ Docker は便利。だからこそ最初から安全に DHI なら FROM を変えるだけで脆弱性がほぼゼロに 「軽い」だけじゃない —
「中身を確認できる」のが本質 観点 公式イメージ DHI 脆弱性 多い ほぼゼロ 証明書 2種類 15 種類(署名付き) シェル(本番) あり なし 管理者権限 明示が必要 デフォルトで OFF
21 今日からどう始めるか 1. Docker Desktop をインストール 2. Dockerfile の FROM
を DHI に変える FROM dhi.io/node:24-debian13 3. Docker Desktop の Images タブで脆弱性を確認
22 Q&A ご質問があればどうぞ。 質問がある方は LinkedIn から気軽にお声がけください!