実行中のドッカーコンテナーに環境変数を設定する必要があります。私はすでにコンテナを作成する際に環境変数を設定する方法を知っています。私が見つけたところでは、ドッカーでこれを行うための利用可能な方法はありません。ドッカーは、新しいバージョン1.13で何かを追加する予定です。実行中のドッカーコンテナーの環境変数を設定
しかし私は今、私のために働いていない人を管理できる人がいることがわかりました。私は、次の方法を試してみましたが、ME-
docker exec -it -u=root test /bin/bash -c "export port=8090"
は、スクリプトを使用して/etc/bash.bashrcし、それに
全体を構成するdocker exec -it test /bin/bash -c "source /etc/bash.bashrc"
を調達するために、「= 8090輸出港」をエコーするために動作しませんでしたスクリプトで実行し、ホストから実行することもできませんでした。ホストからスクリプトを実行している間は、「export port = 8090」または「source /etc/bash.bashrc」または「source /root/.bashrc」以外のコマンドはすべて正常に実行されます。
私はユーザ( " - u = root")を設定してもホストからのソースファイルがdockerコンテナで動作しない理由を誰でも説明できますか?誰も私がこれを解決するのを助けることができますか?私がコンテナの中からファイルを取得するとき、それは完全に機能します。しかし、私の場合は私が
NOTEホストマシンからそれをしなければならない:、私はドッキングウィンドウ1.12を使用していますが、Ubuntuの中で上記試さ:16.04とUbuntu:14.04
をチェック! 'docker exec -it mydocker bash'を試してみましたか?また、まず最初のコマンドでコンテナに入り込み、envを設定してソースを実行します。 – cen
私はコンテナ(/ bin/bash)に行き、変数が存在するかどうかを判断するために環境変数をチェックします。私は言及すべきだった、私のケースでは、私はコンテナの中にファイルを取得することができません。コンテナの内部からの調達は完全に機能することは言及しないでください。私は私の質問を編集しました。 –
もう1つのことは、コマンドをbashファイルに入れ、そのファイルをdockerでコンテナにコピーし、代わりに実行するか、アプリケーションで実行させることです。あなたの他のコメントに基づいて、あなたのスクリプトを構成するための他の方法を見つける方がいいでしょう。動的構成は、通常env varsで行われるものではありません。 – cen