Es macht keinen Sinn, den Hostnamen während des Builds zu verwenden, da die Grundidee darin besteht, einen zentralen Server einzubauen, dann zu pushen und dann von jeder Instanz zu pullen, die das Image als Container ausführen muss.
Daher empfehle ich --mount
stattdessen die Hostnamen-Datei:
docker service create \
-p <port>:<port> \
--replicas 4
--mount type=bind,source=/etc/hostname,destination=/tmp/host-hostname,readonly=true \
<image>
Verwenden Sie dieses PHP:
<h3>My hostname is <?php echo file_get_contents("/tmp/host-hostname"); ?></h3>