2017-07-07 1 views
0

Dockerで動的env変数を設定しようとしていますが、何とかリセットしています。 私は値を持つENV変数を設定する:DockerでDynamic Env変数を設定する

export EC2_Region=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone) 

だから、僕はその静的なわけではないのでDockerfileENVを使用傾けます。

私はinit.shを作ってCMD["init.sh"]Dockerfileに使用しましたが、ドッカープロセスに接続すると、env変数は空です。

私はドッカーにはまだまだ新しく、まだオプションを探っています。

ありがとうございます!

+0

私もinit.shスクリプトからの.bash_profile&ソースそれを交換しようとしましたが、運 – OneWorld

+0

は 'ドッキングウィンドウの実行を行いません - -build-arg'はあなたが望むことをするでしょうか? https://docs.docker.com/engine/reference/commandline/build/ – user2915097

答えて

0

CMDではなくENTRYPOINTを使用できます。

例Dockerfile:

FROM ubuntu:14.04 
COPY init.sh/
RUN chmod +x /init.sh 
ENTRYPOINT ["/init.sh"] 

init.sh:

export EC2_Region=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone) 
+0

何らかの理由で動作しません。私はそれを試してみました。この名前が設定されているENV varはありません。 – OneWorld

+0

あなたはDockerfileとinitスクリプトを提供できますか?上記のDockerfileとinitスクリプトは私のために働いていました。 – Sreeni

+0

私はenv変数を永続化させるために.shスクリプトを/etc/profile.d/に置くことで動作させることができました。上記のアプローチでは、env変数は私が始めていたサービスにアクセスできませんでした。 – OneWorld

関連する問題