Dockerfile本地存在但Docker构建时提示无法定位,求排查解决
Docker构建时找不到Dockerfile的问题排查与解决
问题根源
你执行的构建命令里,Docker是从/tmp/context.tar这个压缩包读取构建上下文的,和你本地目录的文件完全无关。虽然本地用ls能看到Dockerfile,但只要这个tar包里没包含它,Docker就会提示找不到指定文件。
排查与解决步骤
- 先确认tar包内容:执行
tar tf /tmp/context.tar,查看输出里是否有Dockerfile。如果没有,说明打包时遗漏了文件。 - 重新打包上下文:切换到包含Dockerfile、pct、runme.sh的本地目录,执行
tar cf /tmp/context.tar .(末尾的.表示把当前目录所有文件打进包)。 - 重新执行构建命令:
cat /tmp/context.tar | docker build -f Dockerfile -t iii -,此时上下文里包含Dockerfile,就能正常识别。
更简单的替代方案
没必要手动打包上下文,直接在目标目录执行docker build -t iii .,Docker会自动把当前目录作为构建上下文,省去手动打包的步骤,也不容易出错。
内容的提问来源于stack exchange,提问作者Classified
相关产品推荐
相关产品推荐

