錯誤日誌
[2022-05-12 16:53:01][error] [數據駕駛艙] 命令行任務異常,SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Try again768
[2022-05-12 16:54:06][error] [數據駕駛艙] 命令行任務異常,SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Try again768
[2022-05-12 16:59:12][error] [數據駕駛艙] 命令行任務異常,SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Try again768
[2022-05-12 17:14:32][error] [數據駕駛艙] 命令行任務異常,SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Try again768
[2022-05-12 17:15:34][error] [數據駕駛艙] 命令行任務異常,SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Try again768
關鍵是這個錯誤是偶爾的,一次可以一次又不可以
以上數據庫連接是使用的阿里雲RDS 外網地址如:rm-xxxxxxxxxxx.mysql.rds.aliyuncs.com
進入容器
# ping rm-xxxxxxxxxxxxxx.mysql.rds.aliyuncs.com
ping: bad address 'rm-xxxxxxxxxxxxxx.mysql.rds.aliyuncs.com'
# ping rm-xxxxxxxxxxxxxx.mysql.rds.aliyuncs.com
ping: bad address 'rm-xxxxxxxxxxxxxx.mysql.rds.aliyuncs.com'
發現容器內沒法ping通
解決方案:優化 DNS 解析
在請求域名時,DNS 解析可能會超時或者失敗導致網站無法訪問
Linux
/etc/docker/daemon.json
"dns" : ["114.114.114.114","8.8.8.8"]
Windows
Docker Desktop 配置文件增加DNS,設置docker啓動配置。增加以下配置
"dns": [
"114.114.114.114",
"8.8.8.8"
],
增加後重啓容器,解決問題