お値段据え置きで仕事猫ステッカー付のお特号。使い道は無い。
しくみから理解するDocker
“しくみから"といっても「DockerはUFSを使ってレイヤーを単一のファイルシステムに見せているよ」ぐらいの話で、滅茶苦茶低レイヤーに突っ込んだ話は無かった。なので前半部分では新しい知見を得られなかったが、短くまとまっているので振り返って読む分には使いやすい。
- Dockerは
namespace,cgroup,capability等のLinuxカーネル機能を利用するnamespaceにより、PID名前空間やMount名前空間を隔離するcgroupはCPUやメモリのリソース制限に用いられる?capabilityによりコンテナの権限を管理する。コンテナの持つ権限はdocker run時に変更可能- UFS(Union File System)のバックエンドとしては、現在は
overlay2fsドライバが標準
- 一般ユーザーがDockerを利用する場合
dockerグループにユーザーを追加するとdockerコマンドを叩けるようになるが、/var/run/docker.sockに対するroot権限を同時に持たせてしまうnewuidmapとnewgidmapが使えるならRootlessモードが使える
一方で後半は安全なDockerの運用をテーマにしている。普段意識しない部分なので、新しく知れた内容も多く有意義だった。
- コンテナイメージのセキュリティについて
- Trivyによるイメージスキャン、Dockerfileスキャンにより、イメージに含まれるパッケージに脆弱性が無いかをチェックできる
- DockerfileによるスキャンはRegoというポリシー言語でルールを定義できる
- 検知結果の出力はSARIFフォーマット
- 秘密情報の管理について
- Docker Buildkitによりクレデンシャルを含むファイルをイメージに残さずマウントできる
- イメージレジストリのセキュリティについて
- Docker Content Trustにより、イメージに対してNotaryで署名できるらしい
- Trivyによるイメージスキャン、Dockerfileスキャンにより、イメージに含まれるパッケージに脆弱性が無いかをチェックできる
- CIS Docker Benchmarkという安全なコンテナ運用におけるベストプラクティス集がある
OSSとの上手な付き合い方
企業での運用目線なので今はあまり関係ない感じ。ライセンス周りの解説をしてる第3章だけ読んだ。
- OSSライセンスに含まれるポイント
- OSSの複写や改変が自由であること
- 複写や改変の際に配布者がしなければならないこと
- OSSの利用に際し開発者が一切責任を追わないこと
- OSSは大別して寛容(Permissive)型と互恵(Reciprocal)型の2つがある
- 寛容型(MIT,BSD等)はライセンスと著作権表記をすればOKなものが多い
- 互恵型(GPL等)はソースコードの開示が必要になる
- OSSを利用するときは含まれるOSSのライセンスを網羅的に把握し、何をしなければならないか理解する
- FOSSologyはソースコードをスキャンしライセンスをチェックする
