コンテナを起動しても--uts=private
ホスト名を変更できません。しかし、これがまさにその目的であると思いますか?
--uts=private
効果は何ですか?
$ podman run -ti --uts=private alpine
/ # hostname foo.bar.baz
hostname: sethostname: Operation not permitted
CentOSではエラーが少し異なります。
$ podman run -ti --uts=private centos:7
[root@e5fd4d09f5c3 /]# hostname foo.bar.baz
hostname: you must be root to change the host name
コンテナに新しいプライベートネームスペースがある場合、ホスト名を変更できないのはなぜですか?
ベストアンサー1
名前空間機能に基づいてあなたをブロックしています。デフォルトでは、コンテナはCAP_SYS_ADMINをインポートしません。
$ podman run -ti --uts=private --hostname foobar centos
# hostname
foobar
$ podman run -ti --cap-add SYS_ADMIN --uts=private centos
[root@a4f36e700ad7 /]# hostname foobar
[root@a4f36e700ad7 /]# hostname
foobar
[root@a4f36e700ad7 /]# exit