Skip to content
blog.kenichikat.me
Go back

Docker imageビルド時に付けるラベルの整理

Docker imageをビルドするときは、LABEL を使ってメタデータを付けておくとよい。 参考: https://www.docker.com/ja-jp/blog/docker-best-practices-using-tags-and-labels-to-manage-docker-image-sprawl/

ラベルを付ける目的

タグとの使い分け:

OCI標準ラベル

独自キーを作る前に、OCI (Open Container Initiative) の推奨キーを優先すると互換性が高くなる。

ラベルの確認方法

docker inspect my-app:1.4.0 --format '{{ json .Config.Labels }}' | jq

AWSのlambdaのイメージではこんな独自キーがついていた

ラベルの付与

ビルド時に --build-arg で値を渡して付与する

docker build \
  --build-arg VERSION="1.4.0" \
  --build-arg VCS_REF="$(git rev-parse --short HEAD)" \
  --build-arg BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  -t my-app:1.4.0 .
FROM node:22-alpine

ARG BUILD_DATE
ARG VCS_REF
ARG VERSION

LABEL org.opencontainers.image.title="my-app" \
      org.opencontainers.image.description="Example web app" \
      org.opencontainers.image.source="https://github.com/kenichikat/my-app" \
      org.opencontainers.image.version="$VERSION" \
      org.opencontainers.image.revision="$VCS_REF" \
      org.opencontainers.image.created="$BUILD_DATE" \
      org.opencontainers.image.licenses="MIT"

WORKDIR /app
COPY . .
RUN npm ci && npm run build
CMD ["node", "dist/index.js"]

Share this post on:

Previous Post
Salesforce開発環境セットアップメモ
Next Post
Astroプロジェクトをnpmからpnpmへ移行する