kaniko 開発停止|buildxへの乗り換え手順
「kaniko 開発停止」と検索している方は、CIでのDockerビルドキャッシュに使っていたkanikoが今後どうなるのか、代わりに何を使えばいいのかを知りたい状況だと思います。このページでは、kanikoがメンテモードに入った経緯と、docker buildx buildおよびdocker-container driverへ乗り換えた実例を紹介した記事を取り上げます。
kanikoはCIでのDockerビルドをレイヤーキャッシュで高速化するツールで、Google Cloud Buildのドキュメントでも使用例が紹介されていましたが、2025年6月にGitHubリポジトリがアーカイブされ、これ以上の開発が行われないことが発表されました。記事では、kanikoがまだ動作している現状を踏まえつつも、いつ使えなくなってもおかしくない状況にあるとして、CI上でDockerレイヤーキャッシュを使える別のビルド方法を探す経緯が説明されています。
記事ではdocker buildx buildが使うbuild driverの種類を整理し、デフォルトのdocker driverではキャッシュのエクスポート・インポートができないことを検証しています。公式ドキュメントにはdocker driverでも一部のキャッシュバックエンドが使えると書かれているものの、実際に試すとCache exportがサポートされていないというエラーが出て動作しなかったため、docker-container driverに切り替える必要があったという経緯が記されています。
最終的に、ビルドコマンドをdocker buildx buildに変更し、docker-container driverを使ってキャッシュ用registryを指定することで、kanikoと同等の速度でキャッシュを利かせたビルドができるようになったとされています。ただしkanikoにあったキャッシュの有効期限設定に相当する機能はなく、registryの掃除は別途自分で行う必要がある点や、ビルド設定にdriverを用意する手順が一つ増えるものの、その追加時間はごく短く全体のビルド時間への影響はほとんどなかったことが報告されています。
記事の手順の流れ
- kanikoでのキャッシュ付きビルドを前提に、CI上の代替手段を検討する
- docker buildxが使えるbuild driverの種類を確認する
- デフォルトのdocker driverでキャッシュエクスポートを試し、動作しないことを確認する
- build driverをdocker-container driverに切り替える
- ビルドコマンドをdocker buildx buildに変更し、キャッシュ用のregistryを指定する
- CI設定にdriver作成のステップを追加し、ビルド時間への影響を確認する
記事は著者の方がZennに公開されているものです。当社は内容を転載していません。上のリンクから元記事が開きます。
試す前に確認しておきたい前提
記事はGoogle Cloud BuildのCI環境を前提に書かれており、docker buildx buildやdocker-container driverが使える環境であることが必要です。kanikoを別のCI基盤で使っている場合は、同じ手順がそのまま当てはまるか記事の内容を踏まえて確認した方がよいです。
つまずきやすい点
公式ドキュメントにはデフォルトのdocker driverでもキャッシュのエクスポートが一部使えると書かれていますが、記事では実際に試すとエラーになり動かなかったとされています。ドキュメントの記述と実際の挙動が一致しない場合があるため、手元の環境でも同じ結果になるか確認しながら進めた方がよいです。
記事公開から時間がたって変わっている可能性
記事は2025年9月5日公開で、kanikoが同年6月にアーカイブされた直後の状況を扱っています。公式リポジトリやGoogle Cloud Buildのドキュメントにあるkanikoに関する記載は、その後さらに更新・削除されている可能性があるため、現在の内容は改めて確認した方がよいです。
kaniko を実務で使うための情報
よくある質問
読んだうえで、自分でやるか任せるか
OSSは「入れる」より「日本語で運用に乗せる」ほうが手間です。記事のとおりに進めて詰まったら、そこから先は任せてください。