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

Docker构建Ubuntu镜像报错,命令返回非零代码100求解决

解决Docker构建Ubuntu镜像时的"Unable to locate package –y"错误

嘿,这个坑我刚踩过!你看到的E: Unable to locate package –y错误,本质原因特别简单:你用了中文全角的破折号(–)代替了英文半角的减号(-),apt把这个错误的符号当成了要安装的包名,自然找不到对应的软件包啦。

修正方案

首先把Dockerfile里所有的–y替换成-y,另外我建议你合并多个RUN命令——Docker镜像每一层都会占用存储空间,合并后能让镜像更轻量化,修正后的Dockerfile如下:

FROM ubuntu
RUN apt-get update && \
    apt-get install -y apache2 apache2-utils && \
    apt-get clean
EXPOSE 80
CMD ["apache2ctl", "-D", "FOREGROUND"]

额外小提示:为什么要合并RUN命令?

  • 减少镜像层数,避免不必要的存储空间浪费
  • 单独执行apt-get update后,如果后续安装间隔时间较长,缓存的软件包索引可能过期,合并成一条命令能保证更新和安装用的是同一套最新索引

重新构建镜像

最后执行正确的构建命令(注意这里的-t也要用英文减号,别再用中文破折号了哦):

docker build -t="mywebserver" .

这样就能顺利构建你的Apache web服务器镜像啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:30:06