Windows 10 Docker中apt-get执行失败的解决方法
修复Windows 10 Docker中apt-get执行失败的问题
问题场景
首次使用Docker运行Circle编译器的官方Dockerfile时,在执行RUN apt-get -y update && apt-get upgrade步骤时出现错误,提示进程退出码为1。
具体修复方案
1. 给apt-get upgrade添加自动确认参数
原命令中apt-get upgrade未携带-y参数,在Docker的非交互式环境下,该命令会等待用户手动确认升级操作,最终导致进程阻塞退出。修改后的命令如下:
RUN apt-get -y update && apt-get -y upgrade
2. 优化Dockerfile结构(推荐)
合并重复的apt-get update操作,替换已弃用的MAINTAINER指令为LABEL,同时添加缓存清理步骤以减小镜像体积:
FROM ubuntu:latest LABEL maintainer="Sean <circlelang@gmail.com>" RUN apt-get -y update && \ apt-get -y upgrade && \ apt-get install -y binutils libstdc++-10-dev wget git && \ wget -P /home https://www.circle-lang.org/debian/build_200.tgz && \ tar xvf /home/build_200.tgz -C /usr/bin && \ chmod +x /usr/bin/circle && \ git clone https://www.github.com/seanbaxter/circle /home/circle_docs && \ # 清理APT缓存,减少镜像大小 apt-get clean && \ rm -rf /var/lib/apt/lists/*
3. 检查Docker网络连通性
Windows 10下Docker的网络配置异常可能导致容器无法访问外网,可尝试以下操作:
- 打开Docker Desktop设置,切换网络后端(如从WSL2切换到Hyper-V,或反之)
- 暂时关闭代理软件后重试镜像构建
- 在WSL终端执行
ping archive.ubuntu.com,验证网络是否能正常连接Ubuntu软件源
内容的提问来源于stack exchange,提问作者Alistair Manicardi
相关产品推荐
相关产品推荐

