Come funziona --hostname con `buildah run`?

Nov 12 2020

Fornisci l'esempio qui che ha un tentativo di impostare il nome host su foo.bar.bazper la durata della compilazione,

#!/bin/bash
ctr=$(buildah from alpine:3)
buildah run --hostname 'foo.bar.baz' $ctr /bin/sh <<-'EOF'
  echo "/usr/bin/hostname returns [$(hostname)]";
EOF

Ottengo il seguente output,

/usr/bin/hostname returns [myHostname]

Mi aspettavo hostnamedi tornare foo.bar.baz.

Sto usando il pacchetto buildah 1.15.2-1 di Debian Testing.

❯ buildah version
Version:         1.15.2
Go Version:      go1.14.7
Image Spec:      1.0.1
Runtime Spec:    1.0.2-dev
CNI Spec:        0.4.0
libcni Version:  
image Version:   5.5.2
Git Commit:      
Built:           Wed Dec 31 18:00:00 1969
OS/Arch:         linux/amd64

Ma l'ho anche testato su 1.17,

❯ buildah version
Version:         1.17.0
Go Version:      go1.15.2
Image Spec:      1.0.1-dev
Runtime Spec:    1.0.2-dev
CNI Spec:        0.4.0
libcni Version:  
image Version:   5.7.0
Git Commit:      
Built:           Wed Dec 31 18:00:00 1969
OS/Arch:         linux/amd64

Risposte

2 EvanCarroll Nov 13 2020 at 01:36

L'ho segnalato come bug su GitHub (# 2775) .

Sembra che sia cablato ma non documentato, da irc.freenode.net/#podman

nalind> buildah runè cablato per disabilitare lo spazio dei nomi UTS in modalità senza root , non ricordo perché

...

nalind> EvanCarroll: a meno che non sia una limitazione che abbiamo messo in atto per il bene di runc o crun, non essere in grado di utilizzare uno spazio dei nomi UTS privato in buildah runun bug risolvibile