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
1
120
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
#2 学生と社会人LT
https://gijutsu-club.connpass.com/event/334645/
Azuma
November 16, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
Redmine 6.0 新機能評価ガイド
vividtone
0
310
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
27
7.2k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
150
Railsで4GBのデカ動画ファイルのアップロードと配信、どう実現する?
asflash8
2
270
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
1
840
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
180
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
200
強いチームと開発生産性
onk
PRO
25
8.6k
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
430
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
0
1.8k
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
1
640
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
410
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
400
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Raft: Consensus for Rubyists
vanstee
136
6.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Ruby is Unlike a Banana
tanoku
96
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
3
78
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