在容器(Docker / Kubernetes 等)里设置 Linux hostname,有几种常见方式,取决于你是临时改、启动容器时改,还是在容器内部永久改。
docker run -h my-hostname --name my-container -it centos
或者在 docker-compose.yml 中:
services:
app:
image: centos
hostname: my-hostname
✅ 容器重启后依然生效
✅ 最规范的方式
hostname my-hostname
或
hostnamectl set-hostname my-hostname
⚠️ 注意:
hostnamectl 会失败apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
hostname: my-hostname
containers:
- name: app
image: centos
spec:
hostname: my-host
subdomain: my-subdomain
/etc/hostname(不推荐)echo my-hostname > /etc/hostname
⚠️ 容器通常:
/etc/hostnamehostname
或
cat /etc/hostname
| 场景 | 推荐方式 |
|---|---|
| Docker | docker run -h |
| Compose | hostname: |
| K8s | spec.hostname |
| 临时测试 | hostname |
如果你能告诉我你用的是 Docker / K8s / 某种特定镜像,我可以给你更精确的方法。