私の docker compose ファイルには、実行中に生成したい動的フィールドがあります。実際には、これは文字列テンプレートです。
environment:
- SERVER_URL:https://0.0.0.0:${PORT}
PORT
そしてこのパラメータを動的に設定したい
docker-compose run <service> PORT=443
でドキュメンテーションARGS
使用できるパラメータセットがあります。しかし、それらをコンポーズファイル内でどのように使用できるかについての情報はありません
ベストアンサー1
docker-compose では、引数は でのみ使用可能で役立ちますdockerfile
。次のように、前のレベルで何を実行するかを指定できます。
#dockerfile
ARG PORT
ENV SERVER_URL "https://0.0.0.0:$PORT"
ポートは docker-compose.yml で設定できます。
build:
context: .
args:
- PORT=443
いずれにしても、これは実際には環境変数です。適切であれば、実行コマンドを通じて渡すことができます。
PORT=443 docker-compose run <service>
#or
docker-compose run <service> -e PORT=443