此处给出的示例尝试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 测试的 buildah 包 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 命名空间