Google、Dockerデーモンに依存せずコンテナイメージをビルドできる「kaniko」オープンソースで公開

2018年4月19日

Googleは、Dockerデーモンに依存せず、ユーザー空間内でDockerfileからコンテナイメージをビルドできるツール「kaniko」をオープンソースで公開しました

kaniko

通常、Dockerfileからコンテナイメージをビルドするには、Dockerデーモンにアクセスする必要があります。Dockerデーモンは実行にルート権限を必要とするため、ルート権限に簡単にアクセスできない環境、例えばKubernetesクラスタ内のDockerコンテナ環境などではコンテナイメージのビルドが難しいとされてきました。

オープンソースで公開されたツール「kaniko」は、この課題を解決するために開発されたとGoogleは説明しています。

With kaniko, we both build an image from a Dockerfile and push it to a registry. Since it doesn’t require any special privileges or permissions, you can run kaniko in a standard Kubernetes cluster, Google Kubernetes Engine, or in any environment that can’t have access to privileges or a Docker daemon.

kanikoを用いることで、(ルート権限へのアクセスがあってもなくても)どちらでもDockerfileからコンテナイメージをビルドし、レジストリへプッシュできます。というのも、kanikoは特権的なアクセス権限を必要とせず、標準的なKubernetesクラスタやGoogle Kubernetes Engineやそのほか特権的なアクセス権限やDockerデーモンにアクセスできないあらゆる環境でも実行できるからです。

Dockerデーモンに依存せずにコンテナイメージをビルドできるツールはすでにimgorca-buildなどがあります。下記では、kanikoがこの2つとどのように異なるのかについて説明されています。

The img tool builds as an unprivileged user within a container, while kaniko builds as a root user within a container in an unprivileged environment. The orca-build tool executes builds by wrapping runc, which uses kernel namespacing techniques to execute RUN commands. We're able to accomplish the same thing in kaniko by executing commands as a root user within a container.

imgツールはコンテナ内で非特権ユーザーとしてビルドを行いますが、kanikoは非特権環境においてコンテ内でルートユーザーとしてビルドします。orca-buildツールはruncをラッピングすることによりビルドを実行します。これはRUNコマンドを実行するためのカーネル名前空間のテクニックです。 kanikoでは、 コンテナ内でルートユーザとしてコマンドを実行することによって同様のことを成し遂げています。

追記 2018/4/23:最後の和訳の間違いを修正しました。

あわせて読みたい

Docker Kubernetes コンテナ型仮想化 Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本