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

构建Elixir Phoenix项目Docker镜像时无法从deb.debian.org拉取包

解决Docker构建Elixir Phoenix镜像时无法访问deb.debian.org的问题

问题定位

区分是源访问问题还是Docker配置问题

  • 先在宿主机执行ping deb.debian.org或curl http://deb.debian.org,如果宿主机也无法访问,说明是网络环境或Debian官方源的访问问题;如果宿主机能正常访问,则大概率是Docker的网络配置问题。
  • 排查Docker网络配置:检查Docker Desktop是否开启了代理但未正确配置容器代理,或者默认DNS无法解析deb.debian.org域名。

可行解决方法

1. 更换国内Debian镜像源

直接替换为国内稳定镜像源(如清华、中科大),修改Dockerfile中的源配置:

# 替换清华源
RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian bullseye main contrib non-free" > /etc/apt/sources.list && \
    echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian bullseye-updates main contrib non-free" >> /etc/apt/sources.list && \
    echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free" >> /etc/apt/sources.list

# 执行更新和安装
RUN apt-get update && apt-get install -y --no-install-recommends 你的依赖包列表 && \
    rm -rf /var/lib/apt/lists/*

2. 配置Docker代理(若宿主机使用代理)

如果宿主机依赖代理访问外网,需为Docker容器配置代理:

  • 在docker-compose.yml中添加环境变量:
services:
  phoenix-app:
    build: .
    environment:
      - HTTP_PROXY=http://你的代理IP:端口
      - HTTPS_PROXY=http://你的代理IP:端口
      - NO_PROXY=localhost,127.0.0.1
  • 或在Docker Desktop的Settings -> Resources -> Proxies中手动配置代理地址。

3. 调整Docker DNS设置

修改Docker Engine的DNS配置,避免域名解析失败:
在Docker Desktop的Settings -> Docker Engine中添加:

"dns": ["8.8.8.8", "114.114.114.114"]

保存后重启Docker Desktop,再重新执行构建。

4. 检查宿主机防火墙/安全软件

暂时关闭宿主机的防火墙或杀毒软件,确认是否是这类软件拦截了容器的网络请求。

额外指导建议

  • 优化Dockerfile中的APT命令:将apt-get update和apt-get install放在同一个RUN指令中,避免缓存过期导致的更新失败;添加--no-install-recommends减少冗余依赖,用rm -rf /var/lib/apt/lists/*减小镜像体积。
  • 针对Node.js包(如node-dashdash),可同步更换npm源:
RUN npm config set registry https://registry.npmmirror.com/
  • 单独测试容器网络:启动基础Debian镜像排查网络连通性:
docker run -it --rm debian:bullseye bash
# 在容器内执行
ping deb.debian.org
curl http://deb.debian.org

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:32:33