2017-04-21 12 views
3

私のドッカーの作成ファイルに、実行中に生成したいダイナミックフィールドがあります。実際には、文字列のテンプレートです:dockerに引数を渡します。

environment: 
    - SERVER_URL:https://0.0.0.0:${PORT} 

そして私は私が使用できると仮定しARGSのパラメータがあり、動的にdocumentation

docker-compose run <service> PORT=443 

をこのPORTパラメータを設定します。しかし、どのようにそれらの内部のファイルを使用することができる情報がありません

+0

をあなたの質問に答えるように見えるhttps://docs.docker.com/compose/compose-file/#compose-documentationで顔をしています – user2915097

+1

これは環境変数による解決方法です。代わりにコマンドライン引数を使用したい – deeptowncitizen

+0

[この回答を読む](https://stackoverflow.com/questions/35796353/can-i-pass-arguments-into-docker-compose-the-command-config-option?answertab = active#tab-top)とそのコメント。 –

答えて

1

ドッカーの作成では、引数は利用可能であり、dockerfileでのみ有効です。あなたは、あなたが先に次のようなレベルで何をしているかを指定することができます。

#dockerfile 
ARG PORT 
ENV SERVER_URL "https://0.0.0.0:$PORT" 

あなたのポートは、あなたのドッキングウィンドウ-compose.ymlに設定することができます。

build: 
    context: . 
    args: 
    - PORT=443 

それが実際にどのような場合での環境変数です。それはあなたに合う場合は、あなたの実行コマンドを通してそれを渡すことができます:

PORT=443 docker-compose run <service> 
#or 
docker-compose run <service> -e PORT=443 
+4

これは、あらかじめ構築されたコンテナをダウンロードし、実行時引数を使って実行できるようにしたいのです。ドッカーで作成することができるのは基本的な機能です。私はエントリポイントをオーバーライドします。 – Dagrooms

関連する問題