背景
在虚拟机环境下,如果想要自定义hosts,可以直接修改/etc/hosts文件。
在云原生环境下,也有这样的需求,想给启动的容器添加自定义的hosts配置。比如
1、DNS配置以及其它选项不合理的时候,比如解析出的IP地址不正确
2、覆盖掉对主机名的解析或者添加对某些主机名的解析
解决
针对不同的环境,有不同的解决方案。
- Docker环境:run时,添加–add-host选项
- Kubernetes环境:使用hostAlias标签
- RainBond环境:使用ES_HOST_XXX环境变量,本质同上
Docker环境
Docker环境下,直接运行一个新容器的时候,可以使用–add-host来指定主机到IP的映射关系。