解决方案(三种)
出现docker(alpine+golang) 中 hosts 不生效的根本原因是 DNS 解析顺序不一致导致的
方法一
增加配置
修改 NDS 解析顺序
echo "hosts: files dns" > /etc/nsswitch.conf
方法二
映射配置
创建名为 nsswitch.conf 配置文件
hosts: files dns
在 docker-compose.yml 中或者 docker run 中映射一下配置文件
version: '3' services: test: image: tets-x86:latest container_name: test-x86 restart: always network_mode: "host" volumes: - ./config/nsswitch.conf:/etc/nsswitch.conf
方法三
修改镜像
在打包服务镜像时,把配置文件加进去
FROM alpine RUN echo "hosts: files dns" > /etc/nsswitch.conf
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/4130.html