Я пытаюсь добавить строку в /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
в файле докеров и связать его с другим файлом, но я получаю следующую ошибку: rm: cannot remove '/etc/hosts': Device or resource busy
Если я не смонтирую файловую систему как read_only, /etc/hosts
не является rw
, и я обычно могу внести изменения. Затем /etc/hosts
не установлен как ro
но rw
. Итак, это значение наследуется.
Я использую манифест kubernetes или docker compose для развертывания образа контейнера, и я пришел к выводу, что мне нужно что-то вроде --add-host в docker, но динамически извлекаю имя хоста из / 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
файл, когда система корневых файлов доступна только для чтения?