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

Ubuntu20.10环境Docker构建COPY libwiringPi.so.2.52文件失败如何解决

问题根因

你的COPY指令存在语法错误,多余添加了逗号。Dockerfile的COPY指令源路径和目标路径仅需用空格分隔,不需要加逗号分割参数。你写的COPY "libwiringPi.so.2.52", "./"语句中,Docker会把末尾的逗号识别为源文件名的一部分,因此会尝试查找名称为libwiringPi.so.2.52,(末尾带逗号)的文件,自然会触发文件不存在的报错,该问题和你配置的.dockerignore无关。

解决步骤
  1. 修正COPY语句的语法错误,删除多余的逗号:
    如果你要保留COPY在base阶段,修改为:
COPY "libwiringPi.so.2.52" "./"
  1. 建议调整COPY的位置,避免文件被覆盖
    你当前把.so文件复制到base阶段的/app目录,后续final阶段会执行COPY --from=publish /app/publish .操作,如果publish产物中没有该.so文件,不会出现覆盖问题,但更稳妥的方式是把.so的复制操作放到final阶段,保证和dll文件同目录:
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
# 新增此行,放在publish复制之后,避免被覆盖
COPY "libwiringPi.so.2.52" "./"
ENTRYPOINT ["dotnet", "RPI_GPIO_Tests.dll"]

调整后记得删除原来base阶段的错误COPY语句,避免重复操作。

验证

修改完成后重新执行docker build命令,只要libwiringPi.so.2.52确实存放在Dockerfile所在的构建上下文根目录,即可正常完成构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:06:04