日本語

Docker Hardened Images 向けの Container AutoFix

Container AutoFix は、dhi.io 上の Docker Hardened Images (DHI) のベースイメージをアップグレードできます。dhi.io からのプルには Docker ログインが必要なため、Aikido で Docker Hub レジストリを接続してください。AutoFix はその認証情報を使ってイメージをプルします。

前提条件

  • Docker Hardened Images にアクセスできる Docker アカウント。
  • dhi.io のベースイメージを使用する Dockerfile。例:
Dockerfile
FROM dhi.io/node:24-alpine3.23-dev AS build-base
# ...

FROM dhi.io/node:24-alpine3.23 AS runner
# ...

仕組み

Container AutoFix は、より新しいベースイメージタグでイメージを再ビルドし、各アップグレードでどの問題が修正されるかを確認します。ベースイメージが dhi.io/ で始まる場合、Aikido はワークスペースに接続された Docker Hub レジストリの認証情報を使って dhi.io にログインします。

Docker Hub レジストリが接続されていない場合、Container AutoFix は次のエラーで失敗します:

The registry for the private base image could not be found, container autofix is not available.

Docker Hardened Images 用に Docker Hub を接続する

  1. Docker アクセストークンを作成する

    Docker Home で Account settings → Personal access tokens に移動し、Generate new token をクリックします。説明を入力し、Repository permissions を Repo Public Read-only に設定して、Generate をクリックします。トークンをコピーします。

    Repository permissions が Repo Public Read-only に設定された Docker のアクセストークン作成ページ

    代わりに組織アクセストークンを使用する場合は、Read public repositories 権限を付与してください。次のステップでは、ユーザー名として Docker の組織名を使用します。

  2. Aikido で Docker Hub を接続する

    Settings → Containers に移動し、Connect Registry をクリックして Docker Hub を選択します。

    AWS Elastic Container Registry と Azure Container Registry の隣に Docker Hub が表示された Scan Your Container Images モーダル
  3. 認証情報を入力する

    フォームに入力し、Save をクリックします:

    • Username: Docker のユーザー名。組織アクセストークンの場合は Docker の組織名。
    • Access token: 最初のステップで作成したトークン。
    • Organization name: 任意。Docker Hardened Images では不要です。
  4. Container AutoFix を再実行する

    AutoFix → Cloud → Containers に移動し、コンテナのアクションメニューで Regenerate AutoFix をクリックします。まだ AutoFix がない場合は Create AutoFix をクリックします。これで AutoFix が dhi.io のベースイメージをプルし、アップグレードを提案します。

トラブルシューティング

AutoFix がまだレジストリを見つけられない

Settings → Containers で、Docker Hub レジストリが接続され、有効になっていることを確認してください。

AutoFix が dhi.io イメージをプルできない

Aikido はワークスペース内で最初に有効な Docker Hub レジストリを使用します。そのトークンがまだ有効であること、およびアカウントが Docker Hardened Images にアクセスできることを確認してください。トークンが期限切れまたは失効している場合は、新しいトークンを生成してレジストリを更新してください。

関連情報

Container AutoFix の設定 コンテナ向けAutoFix Docker Hubイメージ