2021年10月15日 更新

DockerFile実行時のコマンド変更方法

どうも、クラゲジュニアです。

今回はDockerFileを実行するタイミングで実行されるコマンドを動的に変更する方法についてです。

本編

Dockerfileを作成するとき以下のようにENTRYPOINTCMDを使用する方法です。

ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["influxd", "--config", "/etc/influxdb.conf", "2>", "/var/log/influxdb.log", "&" ]
# docker-entrypoint.sh

# ~~共通処理

exec "$@"

上記のようにENTRYPOINTでシェルスクリプトを指定すると、 シェルスクリプトのexec "$@"CMDで指定したコマンドが渡り実行されます。
これによりDockerFile実行時に実行されるコマンドを動的に変更することができます。

以上です。