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
850
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
#2 学生と社会人LT
https://gijutsu-club.connpass.com/event/334645/
Azuma
November 16, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
Medmain FACTBOOK
akinaootani
0
150
デザインシステムのレガシーコンポーネントを刷新した話/Design System Legacy Renewal
kaonavi
0
130
Startups On Rails 2025 @ Tropical on Rails
irinanazarova
0
170
Lightdashの利活用状況 ー導入から2年経った現在地_20250409
hirokiigeta
0
210
GitHub MCP Serverを使って Pull Requestを作る、レビューする
hiyokose
2
550
Zabbixチョットデキルとは!?
kujiraitakahiro
0
120
FinOps_Demo
tkhresk
0
110
LINEギフトのLINEミニアプリアクセシビリティ改善事例
lycorptech_jp
PRO
0
320
新卒1年目のフロントエンド開発での取り組み/New grad front-end efforts
kaonavi
0
140
AWSエンジニアがSAPのデータ抽出してみた
mayumi_hirano
0
110
OCI Database with PostgreSQLのご紹介
rkajiyama
0
130
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
320
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
Optimising Largest Contentful Paint
csswizardry
35
3.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Into the Great Unknown - MozCon
thekraken
36
1.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Designing Experiences People Love
moore
141
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
19k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
490
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