Проверьте файл хоста на наличие изменений и, если они отсутствуют, добавьте их.

Проверьте файл хоста на наличие изменений и, если они отсутствуют, добавьте их.

Я использую docker, в котором контейнер имеет свой файл /etc/hosts. Он очищается при перезагрузке. Я хотел бы создать скрипт для проверки записи и, если ее нет, добавить ее.

Итак, если в /etc/hosts есть запись следующего содержания:

10.1.1.1 important-server

Тогда ничего не делайте. Если не делать:

echo "10.1.1.1 important-server" >> /etc/hosts

Я предполагаю, что могу использовать sedили awkчто-то подобное для сопоставления с образцом.

решение1

Как сказалРинзвиндв комментариях:

Вам следует добавить --add-host="import-server:10.1.1.1"команду docker run ИЛИ файл docker-compose.yml, если вы используете docker-compose.

Или в оболочке:

sudo -s
grep -Pq '^10\.1\.1\.1\s+important-server' /etc/hosts ||
    echo '10.1.1.1 important-server' >> /etc/hosts
exit

Связанный контент