Verifique se há modificação em um arquivo host e, se estiver faltando, adicione-o

Verifique se há modificação em um arquivo host e, se estiver faltando, adicione-o

Estou usando o docker no qual o contêiner possui seu próprio arquivo/etc/hosts. Ele é limpo ao reiniciar. Gostaria de criar um script para verificar uma entrada e, se faltar, adicioná-la.

Então, se /etc/hosts tiver uma entrada que diz:

10.1.1.1 important-server

Então não faça nada. Se não, faça:

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

Presumo que posso usar sedou awkalgo parecido para a correspondência de padrões.

Responder1

Como disse porRinzwindnos comentários:

Você deve adicionar --add-host="import-server:10.1.1.1"ao comando docker run OU ao arquivo docker-compose.yml se usar docker-compose.

Ou em casca:

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

informação relacionada