株式会社エクスブリッジ

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を用意する手順が一つ増えるものの、その追加時間はごく短く全体のビルド時間への影響はほとんどなかったことが報告されています。

記事の手順の流れ

  1. kanikoでのキャッシュ付きビルドを前提に、CI上の代替手段を検討する
  2. docker buildxが使えるbuild driverの種類を確認する
  3. デフォルトのdocker driverでキャッシュエクスポートを試し、動作しないことを確認する
  4. build driverをdocker-container driverに切り替える
  5. ビルドコマンドをdocker buildx buildに変更し、キャッシュ用のregistryを指定する
  6. CI設定にdriver作成のステップを追加し、ビルド時間への影響を確認する

Zennで記事を読む →

記事は著者の方が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 を実務で使うための情報

よくある質問

kanikoはもう使えなくなったのですか?
記事によれば2025年6月にGitHubリポジトリがアーカイブされ、これ以上の開発は行われない状態になっています。記事執筆時点ではまだ動作していたとされていますが、今後の動作が保証されている状況ではありません。
kanikoの代わりに何を使えばよいですか?
記事ではdocker buildx buildとdocker-container driverを組み合わせる方法が紹介されています。CI上でもDockerのレイヤーキャッシュをレジストリ経由でエクスポート・インポートできる点が、kanikoの代替として使われています。
乗り換えるとビルドは遅くなりませんか?
記事では、build driverを用意するステップが増えるものの数秒程度で済み、ビルド本体の時間はkanikoとほぼ同程度だったため、全体としてビルド時間はほとんど増えなかったと報告されています。
自分で導入するのが難しい場合はどうすればよいですか?
当社がOSSの導入・日本語化・サーバー構築を代行しています(税込110,000円〜)。相談は無料で、Zoomでの打ち合わせにも対応しています。「そのOSSは御社には向かない」という結論になることもあり、その場合はそうお伝えします。

読んだうえで、自分でやるか任せるか

OSSは「入れる」より「日本語で運用に乗せる」ほうが手間です。記事のとおりに進めて詰まったら、そこから先は任せてください。

Kurage.AIKurage.AI に相談AIが何でも答えます