2026年10月18日

2026年10月18日

DockerfileでARGを使ってビルド引数を渡す方法

はじめに

DockerfileでARGを使用することで、ビルド時に必要なパラメータを動的に設定することができます。これにより、コンテナイメージのカスタマイズが容易になり、環境によって異なる設定を行うことが可能になります。

症状・背景

  • バージョン管理が必要なアプリケーションやライブラリを含むコンテナイメージを作成する必要がある場合
  • コンテナ間で共有するパラメータを一元的に管理したいとき
  • 容量制限のあるホスト環境で必要なパッケージをインストールする必要がある場合

手順・設定方法

ステップ1: ARGを定義

# イメージ名とバージョンを指定するARGを定義
ARG IMAGE_NAME=example-image
ARG IMAGE_VERSION=v1.0.0

# これらの値はビルド時に環境変数として渡すことができます

ステップ2: 使用例

# ARGを使用して、コンテナ内で必要とされるパラメータを設定します
FROM $IMAGE_NAME:$IMAGE_VERSION

# パッケージ管理ツールのインストール
RUN apt-get update && \
    apt-get install -y <パッケージ名>

ステップ3: 実践的な例

# システム依存のパスをARGで指定します
ARG SYSTEM_PATH=/usr/local/bin

# このPATHがコンテナ内で使用されます
ENV PATH=$SYSTEM_PATH:$PATH

# 特定のバージョンのパッケージをインストールします
RUN apt-get install -y <パッケージ名>=$<バージョン>

ステップ4: トラブルシュート/監視

# Docker BuildコマンドでARGを渡します
docker build --build-arg IMAGE_NAME=my-image --build-arg IMAGE_VERSION=v1.0.0 .

# ビルド結果やログを確認します

注意事項

  • ARGはビルド時にしか使用できません。実行時に環境変数として参照することはできません。
  • 大きな値やパスなどを渡す場合は、引数の長さ制限に注意してください。
  • 安全性上、機密情報をARGで渡すことは避けるべきです。

まとめ

1. ARGの定義: Dockerfile内でARGを定義します。これはビルド時に使用されるパラメータです。

2. 実際の使用例: 定義したARGを使用してコンテナイメージを作成します。

3. 実践的な注意点: ARGはビルド時限定で、実行時は環境変数として参照することはできません。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲