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
1.6k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
#2 学生と社会人LT
https://gijutsu-club.connpass.com/event/334645/
Azuma
November 16, 2024
Tweet
Share
More Decks by Azuma
See All by Azuma
研究室サーバーとKubeflowで実践するNotebook as a Service
kitsuya0828
0
110
Other Decks in Technology
See All in Technology
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
560
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
130
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
250
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
330
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
540
人工衛星のファームウェアをRustで書く理由
koba789
15
7.8k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
470
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.1k
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Statistics for Hackers
jakevdp
799
220k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Become a Pro
speakerdeck
PRO
29
5.5k
The Pragmatic Product Professional
lauravandoore
36
6.9k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Designing Experiences People Love
moore
142
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Designing for humans not robots
tammielis
253
25k
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