Windows端末でDistrolessイメージを使用してDockerを起動する方法

前提条件

  1. Windows 10 Pro、Enterprise、または Education(64ビット版)
  2. Docker Desktop for Windowsがインストールされていること

基本的な手順

Docker Desktopを起動する

タスクバーのDocker Desktop アイコンをクリックする、またはスタートメニューからDocker Desktopを検索して起動する

PowerShellを管理者権限で開く

スタートメニューを右クリック ⇒ 「Windows PowerShell (管理者)」を選択

Chainguard社が提供する Wolfi イメージをプルする

docker pull cgr.dev/chainguard/wolfi-base:latest

Wolfiイメージを使用してコンテナを起動する

docker run -it --rm cgr.dev/chainguard/wolfi-base:latest

コンテナ内でコマンドを実行する

bin配下にあるコマンドを実行してみる

コンテナを終了する

Ctrl + D を押すか、exit コマンドを実行する

補足

Chainguard社が提供するstaticイメージで同様の事を実施します。

docker pull cgr.dev/chainguard/static:latest

Chainguardの static イメージを単純に実行しようとすると、以下のようなエラーが発生します

docker: Error response from daemon: No command specified.
See 'docker run --help'.

これは、static イメージが実行するデフォルトのコマンドを持たないために発生します。
このイメージは主に他のイメージのベースとして、または静的ファイルの配布用に設計されているためです。
対話的な使用には、chainguard社が提供する wolfi イメージなど、より多くのツールを含むイメージを使用できます。

結論

  • Chainguard Distrolessイメージ(特に static イメージ)は極めて最小限の構成のため、ほとんどの一般的なLinuxコマンドやツールは含まれていません。
  • これらのイメージは主にアプリケーションの実行環境として設計されており、対話的な使用には適していません。
  • 実際の使用では、このイメージをベースにしてアプリケーションを含むカスタムイメージを作成することが一般的です。
  • Chainguardは複数のDistrolessイメージを提供しています。
  • 特定のアプリケーションやランタイムに適したイメージを選択することができます。

コメント

タイトルとURLをコピーしました