Exibe o nome do host na página HTML estática no uhttpd

3

Eu tenho um contêiner docker executando o uhttpd e servindo uma página HTML estática. Como posso inserir dinamicamente o nome do host do contêiner na página HTML estática? Quero manter o contêiner o mais leve possível.

    
por Ben 21.09.2014 / 07:12

3 respostas

4

Por que não apenas um comando que é executado como parte da inicialização do contêiner que gera a página HTML estática com o nome do host dentro dele.

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

Esse comando pode ser colocado em /etc/rc.d/rc.local , supondo que você esteja usando um estilo SysV de scripts de inicialização. Se você estiver usando o systemd, também poderá fazer o mesmo, mas precisará ativar o serviço:

$ sudo service rc-local start

Isto irá marcá-lo para ser executado, para que seja executado por inicialização:

$ sudo systemctl enable rc-local

Se você estiver usando outra coisa, como o Upstart, existem métodos equivalentes para fazer as mesmas coisas acima.

Referências

por 21.09.2014 / 14:26
2

Se você estiver usando PHP, você pode usar o seguinte código:

echo system('hostname')

Isto irá echo a saída do comando hostname . Observe que o comando system está desativado em muitos hosts compartilhados por motivos de segurança.

Como alternativa, você pode usar:

echo gethostname();

-ou -

echo php_uname('n')
    
por 21.09.2014 / 11:12
1

Para uma página estática, a maneira mais fácil seria gerar a página exibida de um modelo substituindo um espaço reservado por qualquer que seja o comando hostname . Execute esse código no ponto de entrada da sua imagem.

    
por 21.09.2014 / 09:23