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

无法构建kubernetes-certbot Docker容器,请求技术协助

解决Docker构建时run.sh: no such file or directory错误的方案

看起来你遇到的核心问题是Docker构建过程中找不到run.sh文件——这和你替换版本号没关系,就算用原仓库的Dockerfile直接构建,如果构建上下文里没有这个文件,也会报同样的错。

错误原因分析

Docker的COPY指令是从构建上下文目录(也就是你执行docker build命令时指定的路径,默认是当前工作目录)里读取文件的。原仓库的Dockerfile和run.sh是放在同一目录下的,如果你只单独复制了Dockerfile,没把run.sh也放到同一目录,构建时自然找不到这个文件。

具体解决步骤

  • 第一步:完整获取仓库的所有文件
    不要只复制Dockerfile,直接克隆整个仓库到本地:
    git clone https://github.com/choffmeister/kubernetes-certbot.git
    cd kubernetes-certbot
    
  • 第二步:修改kubectl版本号
    打开Dockerfile,找到Step5的wget命令,把版本号替换成v1.10.2,修改后的指令如下:
    RUN wget https://storage.googleapis.com/kubernetes-release/release/v1.10.2/bin/linux/amd64/kubectl && chmod +x kubectl && mv kubectl /usr/local/bin
    
  • 第三步:执行构建命令
    在包含Dockerfile和run.sh的当前目录下运行构建:
    docker build -t kubernetes-certbot:1.10.2 .
    

备选方案(如果不想克隆整个仓库)

如果你只想保留必要文件,需要:

  1. 把原仓库的run.sh文件下载到和Dockerfile同一目录下
  2. 确保执行docker build时,当前目录就是这两个文件所在的目录,再执行构建命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:15:04