我正在尝试在文件中添加一行,/etc/hosts
其中包含特定的 IP 和主机名。IP 是静态的,主机名可从 中检索/etc/hostname
。
但是,我希望我的根文件系统是只读的。
因此我收到以下错误:
/etc/hosts: Read-only file system
当我检查时mount
它是:ro
。
因此,我尝试添加/etc/hosts
,emptydir
但不允许,因为/etc/hosts
已经安装并出现错误:
b'linux mounts: Duplicate mount point: /etc/hosts
我还尝试/etc/hosts
在 dockerfile 中删除它并将其符号链接到另一个文件,但出现以下错误:
rm: cannot remove '/etc/hosts': Device or resource busy
如果我没有将文件系统挂载为只读,则/etc/hosts
不是rw
,我通常可以进行更改。然后,/etc/hosts
不会将挂载为,ro
而是rw
。因此,此值是继承的。
我正在使用 kubernetes manifest 或 docker compose 来部署容器镜像,并且我得出结论,我需要类似 docker 中的 --add-host 之类的东西,但从 /etc/hostname 动态检索主机名。
In `docker-compose`:
extra_hosts:
- "hostname:127.0.1.1"
In `kubernetes-yaml`:
hostAliases:
- ip: "127.0.1.1"
hostnames:
- "hostname"
有没有办法将主机名作为 docker-compose 和 yaml 中的变量?
当根文件系统是只读的时候,还有其他方法可以绕过ro
已挂载的文件吗?/etc/hosts