は、私は以下の環境変数を持っている私のドッキングウィンドウのクライアントマシン上と仮定します。 (DOCKER_CONTAINER
を含むもの)。ドッカーのクライアント環境変数をドッカーの実行コマンドにフィルタする方法はありますか?</p> <pre><code>myValA=B DOCKER_CONTAINER_VALUE_C=networksettingD myValE=F DOCKER_CONTAINER_VALUE_G=arbitrarySettingH </code></pre> <p>と私は私が実行している私のドッカー容器に、これらの値のうちの2つを渡したい:
今私は手動でこのように、それをハードコーディングできます。
docker run -e DOCKER_CONTAINER_VALUE_C='networksettingD' -e DOCKER_CONTAINER_VALUE_G='arbitrarySettingH' --name container_name dockerhub_id/image_name
しかし、私はこのプロセスを自動化したいです。以下のような
何か:
docker run -e ${env | grep "DOCKER_CONTAINER"} ...
私の質問は:ドッカrunコマンドにドッキングウィンドウのクライアント環境変数をフィルタリングする方法は?
set | grep DOCKER_CONTAINER > env_file
docker run --env-file env_file ...
をそれとも、本当に単一のコマンドラインをしたい場合:
これは実際には機能しません。あなたの最終的なコマンドが 'xargs docker run myimage'であれば、xargsの結果は' docker run myimage -e ... 'となります。これはあなたが望むことをしません。また、空白を含む変数はどのような場合でもこれを上回ります。対話式のドッカーセッションを望むなら、あなたは不運になります。 – larsks
@larsksフィードバックいただきありがとうございます。私は実際にドッカーを使用していませんが、さらに引数が '-e'オプションに続くかもしれないという事実を説明するために私の答えを修正しました。 –
'xargs'が' -e DOCKER_CONTAINER_VALUE_C = networksettingD -e DOCKER_CONTAINER_VALUE_G = arbitrarySettingH'を1つの引数として渡してエラーになるため、これはやはり失敗します。 – larsks