我是docker的新手,我使用的是docker 1.12版。我正在尝试修改正在运行的容器的主机名,但 hostname 命令返回主机名:您必须是root才能更改主机名。有没有办法在运行容器后而不是在docker run命令中实现它?
答案 0 :(得分:4)
这里有一些讨论:https://github.com/docker/docker/issues/8902
我从上面讨论得到的是
运行容器时添加SYS_ADMIN
上限:
https://github.com/docker/docker/issues/8902#issuecomment-218911749
使用nsenter
https://github.com/docker/docker/issues/8902#issuecomment-241129543
答案 1 :(得分:1)
按照以下步骤,您可以在启动/运行容器后进行设置。
1.停止容器和服务
sudo docker 停止 CONTAINER_NAME
sudo service docker stop
2.Edit config file (JSON) [你应该总是先备份]
/var/lib/docker/containers/CONTAINER_ID/config.json
替换
"Hostname":"WHATEVER"
与
"Hostname":"NEW_HOSTNAME"
3.启动容器和服务
sudo service docker start
sudo docker 启动 CONTAINER_NAME