Arch Linuxがビット単位で再現可能なDockerイメージを提供開始
18時間前原文(antiz.fr)
概要
- Arch Linuxが新たにbit-for-bit再現可能なDockerイメージを公開
- 再現性の確保のため、pacmanの鍵が初期状態で除去されている
- **専用タグ“repro”**で配布、利用時は鍵の再生成が必要
- イメージの再現性はdigest一致やdiffociで確認済み
- 今後は自動再ビルドや公開検証の計画も検討中
Arch Linuxのbit-for-bit再現可能なDockerイメージ公開
- Arch Linuxがbit-for-bitで再現可能なDockerイメージをリリース
- “repro”タグで配布し、通常のイメージとは区別
- 再現性確保のため、イメージからpacmanの鍵を削除
- pacmanは初期状態で利用不可
- ユーザーはpacman鍵の再生成が必要
- コマンド例:
pacman-key --init && pacman-key --populate archlinux - Dockerfile内RUN文や初回起動時の手動実行で対応
- コマンド例:
- Distrobox利用者はpre-init hookで自動化可能
- 例:
distrobox create -n arch-repro -i docker.io/archlinux/archlinux:repro --pre-init-hooks "pacman-key --init && pacman-key --populate archlinux"
- 例:
- イメージの再現性検証
- digest一致(
podman inspect --format '{{.Digest}}' <image>) - diffociによるビルド比較
- digest一致(
- ドキュメントで再現手順を公開
Dockerイメージ再現性の技術的工夫
- WSLイメージと同じrootFSビルドシステムを利用
- Docker固有の調整点
- SOURCE_DATE_EPOCHの設定とDockerfile内LABELでの反映
- ldconfigのauxiliary cacheファイル(非決定性の原因)を削除
- タイムスタンプの正規化
--source-date-epoch, --rewrite-timestampオプションで対応
- 具体的な差分や詳細はarchlinux-dockerリポジトリで参照可能
今後の展望とコミュニティへのメッセージ
- reproducible builds推進の一環として重要なマイルストーン
- 自動再ビルド・検証システムの導入も検討中
- サーバー上でDocker/WSLイメージを定期的に再ビルド
- 再現性検証とビルドログの公開予定
- コミュニティの協力と今後の発展への期待