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
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
Search
Azuma
November 16, 2024
Technology
3
2.7k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
#2 学生と社会人LT
https://gijutsu-club.connpass.com/event/334645/
Azuma
November 16, 2024
Tweet
Share
More Decks by Azuma
See All by Azuma
Beyond Multiprocessing: A Real-World ML Workload Speedup with Python 3.13+ Free-Threading
kitsuya0828
1
1.7k
研究室サーバーとKubeflowで実践するNotebook as a Service
kitsuya0828
0
720
Other Decks in Technology
See All in Technology
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
460
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
0
160
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.3k
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
190
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
27
13k
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
110
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
260
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
180
AWS Systems Managerのハイブリッドアクティベーションを使用したガバメントクラウド環境の統合管理
toru_kubota
1
180
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
110
FlutterでPiP再生を実装した話
s9a17
0
220
Featured
See All Featured
Claude Code のすすめ
schroneko
67
220k
Prompt Engineering for Job Search
mfonobong
0
240
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
Faster Mobile Websites
deanohume
310
31k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Building the Perfect Custom Keyboard
takai
2
720
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
rootlessコンテナのすゝめ 研究室サーバーでもできる安全なコンテナ管理 Azuma (@azuma_alvin) 学生と社会人LT #2
1 自己紹介 • 修士1年 • Go, Kubernetes, Vimが好き • 研究室サーバーの管理人
Azuma @azuma_alvin @kitsuya0828
突然ですが 2
3 Dockerを使ったことがある人!
4 Dockerに「rootlessモード」が あるのを聞いたことがある人!
実は… ((((;゚Д゚)))) 5
6 デフォルトのroot権限で動作する Dockerは設定次第でホストに 深刻なリスクをもたらす!
7 $ sudo usermod -aG docker \ azuma dockerグループにユーザーを追加 すると何ができるようになる?
8 $ docker run –it \ --rm \ -v /:/tmp
\ ubuntu \ rm -rf /tmp Q1. 実行結果は? ※ 検証環境以外で実行しないでください
9 $ docker run -ti \ --name hacker \ --privileged
\ -v /:/host \ ubi8 \ chroot /host Q2. 実行結果は? ※ 検証環境以外で実行しないでください
10 https://docs.docker.com/engine/install/linux-postinstall/ • dockerグループはrootレベルの権限付与 • 非rootで実行するにはrootlessモード
11 rootlessモード移行を 検討する前に
コンテナエンジンの比較 12 rootlessモード デフォルトで rootless かつ daemonless ユーザーごとに daemonを起動させる
13 DockerとPodmanはほぼCLI互換 $ docker run -d \ --name my-nginx \
-p 8080:80 \ nginx $ podman run -d \ --name my-nginx \ -p 8080:80 \ nginx alias docker=podmanで切り替え可能
14 rootlessコンテナに 話を戻しましょう
15 rootlessコンテナ内でも apt-get installするために root権限を使える? → 可能 コンテナ内のrootユーザーは ホスト側から見た一般ユーザー
ユーザー名前空間 16 ホスト コンテナ 65536 0 … 2401 … 1083040
… 1148575 … 232 0 1 … 1000 1001 … 65536 nobody ... azuma:1083040:65536 /etc/subuid の内容: コンテナ内のrootユーザー = ホストから見た一般ユーザー azuma
17 $ podman run –it \ --rm \ -v /:/tmp
\ ubuntu \ rm -rf /tmp Q3. 実行結果は? ※ 検証環境以外で実行しないでください
18 研究室サーバー…|д゜)チラッ
研究室サーバーのPodman移行 19 • rootless • daemonless • Dockerと 高いCLI互換性 メリット
デメリット • 認知負荷? • 引き継ぎ?
NASをコンテナにマウントして書き込む 20 $ id uid=2401(azuma) gid=2401(azuma) groups=2401(azuma),995(nas_access),998(docker) の場合 $ docker
run -it --rm \ -u $(id -u):$(id -g) \ --group-add 995 \ -v $NAS_SOURCE:$DESTINATION \ myimage
NASをコンテナにマウントして書き込む 21 $ id uid=2401(azuma) gid=2401(azuma) groups=2401(azuma),995(nas_access),998(docker) の場合 $ podman
run -it --rm \ --userns keep-id \ --group-add keep-group \ -v $NAS_SOURCE:$DESTINATION \ myimage
22 コンテナって面白い!
23 もっと詳しく Podman入門とrootlessコンテナ(#9) てっく・ざ・ぶろぐ! https://alvinvin.hatenablog.jp/entry/9
24 参考書籍 Podman in Action Daniel Walsh https://developers.redhat.com/e-books/podman-action Podmanイン・アクション Daniel
Walsh (著)、磯田雄輝 ほか (翻訳)、秀和システム http://www.shuwasystem.co.jp/book/9784798070209.html