docker-slim を触ってみた¶
docker-slim 概要¶
docker-slim(SlimToolkit)は Docker コンテナイメージのサイズを小さくするツール。最大 1/30 のサイズになる。 archlinux の image を使って slim を実行した例。
install¶
brew でインストールできる。
usage¶
- xray:ターゲット コンテナー イメージの静的分析をします (イメージの Dockerfile の「リバース エンジニアリング」を含む)。コンテナー イメージの中身と、それが肥大化している原因を知りたい場合は、このコマンドを使用します。
- lint: Dockerfiles のコンテナー命令を分析します (Docker イメージのサポートは WIP です)。
- build:サポートされているセキュリティ プロファイルを生成するコンテナー イメージを分析、プロファイリング、および最適化します。これは最も一般的なコマンドです。
- registry:レジストリ操作します。
- profile:基本的なコンテナー イメージ分析と動的コンテナー分析をしますが、最適化されたイメージは生成しません。
- run: 1 つまたは複数のコンテナーを実行します (現在はに似た単一のコンテナーを実行します docker run)
- version:バージョン情報を表示します。
- update: Slim を最新バージョンに更新します。
- help: 使用可能なコマンドとグローバル フラグを表示する
実際に触ってみた¶
Python3 の FastAPI を使った Docker image に対して slim コマンドを実行してみた。1.2GB あったイメージサイズが 40MB まで小さくなったが、元のイメージの時は動いていたアプリがエラーで立ち上がらなくなった。http-probe
あたりが怪しいと思ったが解消はできなかった。 slim 後のイメージをしっかりテストしないと運用までできないと思った。