如果您正在期待根据您的要求命名容器,则可以在运行容器时使用参数--hostname。
# docker run --hostname=my-server -it ubuntu:15.0 /bin/bash
[email protected]:/# hostname
my-server
[email protected]:/#
EDIT1:当你需要在运行时改变,容器需要具有root权限才能更改主机名。默认情况下,Docker容器将具有有限的根权限。
当您尝试更改主机名以下可能会发生错误说你应该有root权限:
# docker run -it ubuntu:15.0 /bin/bash
[email protected]:/# hostname
92b712251220
[email protected]:/# hostname new-server
hostname: you must be root to change the host name
[email protected]:/#
当你运行与--privileged选项这意味着运行的所有容器相同的容器在root权限,您将能够更改主机名:
# docker run -it --privileged ubuntu:15.0 /bin/bash
[email protected]:/# hostname new-server
[email protected]:/# hostname
new-server
[email protected]:/#
理想情况下,不运行带有--privileged选项容器中的最佳实践whic h完全控制不安全的主机。
嘿,谢谢你的答案,但我一直在寻找一种方式,我将能够在运行时更改主机名,而运行ansible剧本 –
现在你检查,通过与--privileged选项试图为解释在答案中。 –
嘿那里,编辑了一些问题的细节,以提供清晰的,因为我不能使用交互模式。 –