uhttpdの静的HTMLページにホスト名を表示する

uhttpdの静的HTMLページにホスト名を表示する

uhttpdを実行し、静的HTMLページを提供するDockerコンテナがあります。コンテナのホスト名を静的HTMLページに動的に挿入するには?容器はできるだけ軽くなってほしいです。

答え1

ホスト名を含む静的HTMLページを生成するためにコンテナの起動の一部としてコマンドを使用するのはどうですか?

$ cat <<EOF > /path/to/var/www/hostname.html
<html>
<body>
<p>hostname is: $(hostname)</p>
</body>
</html>
EOF

/etc/rc.d/rc.localSysVスタイルの起動スクリプトを使用していると仮定すると、このコマンドを配置できます。 systemdを使用していても同じことができますが、サービスを有効にする必要があります。

$ sudo service rc-local start

これにより、起動するたびに実行されるように実行中としてマークされます。

$ sudo systemctl enable rc-local

Upstartなどの他のツールを使用している場合は、同じ方法を使用して上記と同じことを実行できます。

引用する

答え2

PHPを使用している場合は、次のコードを使用できます。

echo system('hostname')

echoこれはコマンドの出力になりますhostnamesystemセキュリティ上の理由から、多くの共有ホストではこのコマンドは無効になっています。

または、次のものを使用できます。

echo gethostname();

-または-

echo php_uname('n')

答え3

静的ページの場合、最も簡単な方法は、テンプレートからサービスページを生成し、プレースホルダをコマンドが提供するものにhostname置き換えることです。イメージのエントリポイントでこのコードを実行してください。

答え4

以下は、ホスト名を示すWebページです。これは、ネットワークプログラミングの「インライン」機能を示しています。

<html>
<body>
<?php echo gethostname(); ?>
</body>
</html>

関連情報