2016-12-06 3 views
0

ドッカーには新しく、ローカルホスト名($ホスト名)をドッカーコンテナに渡して、コンテナ内のコンフィギュレーションファイルのエントリを変更しようとしています。新しい$Hostnameパラメータをドッカーコンテナに渡し、渡されたパラメータでコンテナ内のファイルを更新する方法

私は以下のようにdockerfileでコマンドを追加しました:

RUN echo $Hostname >> /etc/***.config 

や画像

run -e $Hosname='cat /etc/hostname' ...

からドッキングウィンドウを実行しているが、コンテナ内の$Hostnameは、コンテナのホスト名の代わりに、ローカルホストのです。誰もこれで私を助けることができますか?どうもありがとう!

答えて

0

一般的に言えば、 -eフラグは、指定された環境変数を呼び出し時に設定します。

代わりにこれを試してみてください:

docker run -e PARENT_HOSTNAME=${HOSTNAME} ... 

(ドッカホストと同じにコンテナのホスト名の設定についての詳細のための@ code_monkの回答を参照してください)

を、私はあなたが通常必要とするか、またはたいとは思いませんドッカーはコンテナ内のホスト名をホストしますが、それはコンテナ内の環境変数を設定します。

1

実際にはコンテナーのホスト名はであることはほとんどありません。は通常の方法で変更できます。これは、ドッキングエンジンがリンクとネットワークを処理するためにドッキングエンジンがこれを制御していることを知る必要があるためです。

は、エンジンの点をドッキングウィンドウのようにホスト名を設定するには、次の操作を行います。ドキュメント内

docker run --hostname myhostname imagename 

Network Settingsセクションでは、これが

+0

良い点をどのように動作するかを説明します。私の答えは、一般的な質問の詳細です。 –

+0

質問をより明確に言い表すことができました –

関連する問題