gpt4 book ai didi

docker - 更改 docker 容器内的主机名时出错

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:39 25 4
gpt4 key购买 nike

我正在尝试使用命令更改运行 centos 的 docker 容器的主机名

hostnamectl set-hostname test.ovirt.org

但它给了我一个追溯

Could not set property: Failed to execute program /lib64/dbus-1/dbus-daemon-launch-helper: Success

退出代码为 1。

这是相关的 travis-CI 构建回溯

编辑:

我正在运行命令来更改 Travis 构建中的 ansible 任务中的主机名。使用交互模式编辑主机名不是一种选择。

最佳答案

如果您希望根据您的要求命名容器,您可以在运行容器时使用参数 --hostname

# docker run --hostname=my-server -it ubuntu:15.0 /bin/bash
root@my-server:/# hostname
my-server
root@my-server:/#

EDIT1 :由于您需要在运行时进行更改,容器需要具有根权限才能更改主机名。默认情况下,Docker 容器将具有有限的根权限。

当您尝试更改主机名时,可能会出现以下错误,提示您应该拥有 root 权限:

# docker run -it ubuntu:15.0 /bin/bash
root@92b712251220:/# hostname
92b712251220
root@92b712251220:/# hostname new-server
hostname: you must be root to change the host name
root@92b712251220:/#

当您使用 --privileged 选项运行同一个容器时,这意味着以所有 root 权限运行容器,您将能够更改主机名:

# docker run -it --privileged ubuntu:15.0 /bin/bash
root@08c70ab0c9e3:/# hostname new-server
root@08c70ab0c9e3:/# hostname
new-server
root@08c70ab0c9e3:/#

理想情况下,最好不要使用 --privileged 选项运行容器,因为它可以完全控制不安全的主机。

关于docker - 更改 docker 容器内的主机名时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44546320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com