我想在 Kubernetes 内运行的容器中设置主机名,但 Kubernetes 似乎覆盖了我在运行时设置的任何内容。
我已经尝试在我使用 Kubernetes 的 docker 镜像中设置/etc/hostname,并在 CMD 中包含 echo "host.example.com >/etc/hostname"
Dockerfile。
似乎有一个 docker 标志 -h
来设置主机名。有没有办法在我的复制 Controller 中指定它应该使用特殊标志启动容器?
容器的 Debian,如果有帮助的话。
最佳答案
我之前的回答不正确,用正确的信息编辑
docker run
的 -h
标志将在您创建容器时设置容器的主机名。
测试一下:docker run -h test.example.com -it ubuntu/bin/bash
docker start
命令虽然没有相同的 -h
或 --hostname
参数。似乎无法更改现有容器的主机名,只能更改镜像中的新主机名。
但是 w/r/t Kubernetes:有一个开放的 issue on Github关于 Kubernetes 如何处理主机名。 Kubernetes 似乎没有直接公开 docker 的主机名设置,但您也许可以通过您的 pod 名称来影响它
关于docker - 为在 Kubernetes 中运行的容器设置主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31552455/