Please enable Javascript to view the contents

使用 Apline 镜像常见问题

 ·  ☕ 1 分钟

1. DNS 请求超时

原因: alpine 使用的是 musl 库,在 DNS 解析上会有一些限制[1]

解决方式:

不使用 apline 镜像,并在容器 resolv.conf 文件中增加 options single-request-reopen 配置。因为 single-request-reopen 配置项只对 glibc 库生效,但是 apline 镜像使用的是 musl 库

2. Docker 下无法解析 hosts

原因:

alpine 没有 /etc/nsswitch.conf,导致依赖 hosts 的进程无法解析 hosts。

解决方式:

在 Dockerfile 中添加如下命令:

1
RUN if [ ! -e /etc/nsswitch.conf ];then echo 'hosts: files dns' > /etc/nsswitch.conf; fi

3. 参考

  1. https://wiki.musl-libc.org/functional-differences-from-glibc.html#Name-Resolver/DNS

微信公众号
作者
微信公众号