Tas*_*man 5 centos travis-ci ansible docker
我正在尝试使用以下命令更改运行 centos 的 docker 容器的主机名
hostnamectl set-hostname test.ovirt.org
Run Code Online (Sandbox Code Playgroud)
但它给了我一个回溯
Could not set property: Failed to execute program /lib64/dbus-1/dbus-daemon-launch-helper: Success
Run Code Online (Sandbox Code Playgroud)
退出代码为 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:/#
Run Code Online (Sandbox Code Playgroud)
EDIT1:由于您需要在运行时更改,容器需要具有 root 权限才能更改主机名。默认情况下,Docker 容器将具有有限的 root 权限。
当您尝试更改主机名时,可能会出现以下错误,提示您应该具有 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:/#
Run Code Online (Sandbox Code Playgroud)
当您使用 --privileged 选项运行同一容器时,这意味着以所有 root 权限运行容器,您将能够更改主机名:
# docker run -it --privileged ubuntu:15.0 /bin/bash
root@08c70ab0c9e3:/# hostname new-server
root@08c70ab0c9e3:/# hostname
new-server
root@08c70ab0c9e3:/#
Run Code Online (Sandbox Code Playgroud)
理想情况下,使用 --privileged 选项运行容器并不是最佳实践,该选项可以完全控制不安全的主机。
归档时间: |
|
查看次数: |
3556 次 |
最近记录: |