我正在使用 docker,其中容器有自己的 /etc/hosts 文件。重新启动时它会被清除。我想创建一个脚本来检查条目,如果缺少则添加它。
因此如果 /etc/hosts 中有如下条目:
10.1.1.1 important-server
然后什么也不做。如果不做,则执行以下操作:
echo "10.1.1.1 important-server" >> /etc/hosts
我假设我可以使用sed
或awk
类似的东西进行模式匹配。
答案1
正如所说林兹温德在评论中:
如果您使用 docker-compose ,则应将其添加
--add-host="import-server:10.1.1.1"
到 docker run 命令或 docker-compose.yml 文件中。
或者在 shell 中:
sudo -s
grep -Pq '^10\.1\.1\.1\s+important-server' /etc/hosts ||
echo '10.1.1.1 important-server' >> /etc/hosts
exit