Няма смисъл да се използва името на хоста по време на компилация, защото основната идея е да се вгради централен сървър, след това да се натисне, след това да се изтегли от всяко копие, което трябва да изпълни изображението като контейнер.
Затова препоръчвам --mount
вместо файла с име на хост:
docker service create \
-p <port>:<port> \
--replicas 4
--mount type=bind,source=/etc/hostname,destination=/tmp/host-hostname,readonly=true \
<image>
Използвайте този PHP:
<h3>My hostname is <?php echo file_get_contents("/tmp/host-hostname"); ?></h3>