You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose构建时无法解析域名问题求助

Docker Compose构建时DNS解析失败的解决方法

问题描述

使用docker compose build构建镜像时遇到以下错误:

curl: (6) Could not resolve host: deb.nodesource.com

重启机器后出现该问题,主机环境下ping deb.nodesource.com和curl访问均正常,使用docker build --network host构建可成功完成,但Docker Compose构建始终无法解析域名,尝试配置Docker全局DNS无效。

解决方案

1. 为Docker Compose构建指定host网络

在docker-compose.yml的服务构建配置中添加network: host,让构建过程直接使用主机网络的DNS配置:

services:
  你的服务名:
    build:
      context: .
      dockerfile: Dockerfile
      network: host

2. 手动指定构建时的DNS服务器

若不想使用host网络,可在构建配置中直接指定DNS服务器地址(比如公共DNS或主机自身的DNS):

services:
  你的服务名:
    build:
      context: .
      dockerfile: Dockerfile
      dns:
        - 8.8.8.8  # Google DNS
        - 1.1.1.1  # Cloudflare DNS

3. 重新配置Docker守护进程DNS

如果之前修改Docker DNS未生效,确保配置步骤正确:

  • 创建或编辑/etc/docker/daemon.json文件:
{
  "dns": ["8.8.8.8", "1.1.1.1"]
}
  • 重启Docker服务使配置生效:
sudo systemctl restart docker

完成后重新执行docker compose build测试。

内容的提问来源于stack exchange,提问作者GeraniumCat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:03:10