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

Windows11下Docker Desktop用WSL2构建Ubuntu Dockerfile失败,Hyper-V正常

问题排查与解决办法

网络配置异常

Windows Docker Desktop的网络栈(WSL2/Hyper-V)容易出现DNS解析或连接不稳定的情况:

  • 打开Docker Desktop设置 → Resources > Network,将DNS服务器改为公共DNS,比如8.8.8.8或114.114.114.114
  • 重启Docker Desktop后重新执行构建命令

源服务器访问缓慢/失效

你的基础镜像是Ubuntu Xenial(16.04),该版本已停止官方支持,默认源可能访问困难:

  • 在Dockerfile中替换为国内镜像源,修改后的代码如下:
FROM osrf/ros:kinetic-desktop-full as base

ENV NVIDIA_VISIBLE_DEVICES \
    ${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
    ${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics

# 替换为国内镜像源
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
    sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
    sed -i 's/snapshots.ros.org/ros-distribution.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list.d/ros-latest.list && \
    apt-get update && apt-get install -y ca-certificates curl

代理干扰

如果Windows开启了代理,可能导致Docker容器内网络请求受阻:

  • 暂时关闭系统代理,或在Docker Desktop设置 → Resources > Proxies中配置匹配的代理规则
  • 检查WSL2环境变量,确保没有残留的HTTP_PROXY/HTTPS_PROXY设置

缓存镜像损坏

本地缓存的基础镜像可能存在网络配置异常:

  • 执行命令删除缓存镜像:docker rmi osrf/ros:kinetic-desktop-full
  • 重新拉取镜像后再执行构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:54:59