如果您正在期待根據您的要求命名容器,則可以在運行容器時使用參數--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選項試圖爲解釋在答案中。 –
嘿那裏,編輯了一些問題的細節,以提供清晰的,因爲我不能使用交互模式。 –