我是 docker 新手,我已经检查了 stackoverflow 上的帖子,但我无法解决我的问题:
我的文件目录:
Directory of C:\Users\HP\Desktop\nocom2
05/15/2024 12:06 PM <DIR> .
05/15/2024 12:06 PM <DIR> ..
07/25/2022 05:57 AM 5,320 ad_bot.py
07/25/2022 05:57 AM 68 ad_site.Dockerfile
07/25/2022 05:57 AM 1,089 docker-compose.yml
07/25/2022 05:57 AM 1,176 dockerfile.Dockerfile
07/25/2022 05:57 AM 144 index.html
07/25/2022 05:57 AM <DIR> Myst
07/25/2022 05:57 AM 1,790 README.md
07/25/2022 05:57 AM 1,184 requirements.txt
07/25/2022 05:57 AM <DIR> venv
7 File(s) 10,771 bytes
4 Dir(s) 10,078,896,128 bytes free
这是来自 github 的项目,在 readme.txt 中它说要运行此命令:
Docker build -t ad_bot .
当我尝试时,我收到此错误:
[+] Building 0.0s (0/0) docker:default
2024/05/15 12:12:25 http2: server: error reading preface from client //./pipe/docker_engine: file has already been close[+] Building 0.1s (1/1) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 2B 0.0s
ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
我已经在正确的目录中了。我应该更改 dockerfile 的名称吗?
当您运行
docker build -t ad_bot .
时,Docker 会在当前目录中查找名为 Dockerfile 的文件。
如果您的 Dockerfile 被命名为其他名称,您需要使用 -f 或 --file 选项指定它。
在您的例子中,您有两个 Dockerfile:ad_site.Dockerfile 和 dockerfile.Dockerfile。要使用这些文件之一构建图像,您需要指定文件名
docker build -t ad_bot -f ad_site.Dockerfile .
或
docker build -t ad_bot -f dockerfile.Dockerfile .
或者将您的 Dockerfile 重命名为 Dockerfile。然后你可以使用命令
docker build -t ad_bot .
构建你的图像