`buildah run`で --hostname を使う方法は?

`buildah run`で --hostname を使う方法は?

ここで提供される例では、foo.bar.bazビルド中にホスト名を次のように設定しようとします。

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

私は次のような結果を得ます。

/usr/bin/hostname returns [myHostname]

hostname帰りを楽しみにしていますfoo.bar.baz

私はDebianテストビルドパッケージ1.15.2-1を使用しています。

❯ 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

しかし、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

ベストアンサー1

私はこれを次のように受け入れます。GitHubのバグ(#2775)

irc.freenode.net/#podmanから直接配線しましたが、文書化されていないようです。

nalind>は、buildah runルートレスモードでUTS名前空間を無効にするためにハードワイヤードされているため、理由を覚えていません。

...

nalind> EvanCarroll: runc または crun に設定した制限以外の修正buildah run可能なバグにプライベート UTS 名前空間を使用することはできません。

おすすめ記事