여기에 제공된 예에서는 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
.
저는 데비안 테스트 빌드 패키지 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 네임스페이스를 사용할 수 없습니다.