关联k8s pod php dockerphp
偶尔会出现找不到 DNS 的报错 php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution [tcp://xxx.redis.rds.aliyuncs.com:6379]
redis
在请求域名时,DNS 解析可能会超时或者失败致使网站没法访问。操做系统上通常会启用 nscd 服务用于作 DNS 的缓存以便避免 DNS 解析失败。但容器的镜像中通常不会配置 nscd 服务,您能够在常常作 DNS 解析的容器上安装 nscd 服务来优化容器中的 DNS 解析。docker
您须要首先安装 nscd 软件包,而后在容器启动的时候首先启动 nscd 服务,再启动本身的进程。缓存
FROM php:7.1-fpm-stretch RUN apt-get update && apt-get install -y nscd && rm -rf /var/lib/apt/lists/* CMD service nscd start; bash