docker(alpine+golang) 中 hosts 不生效问题解决方法

解决方案(三种)

出现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

发表评论

登录后才能评论