无法准备上下文:无法计算windows 10 Dockerfile路径中的符号链接

无法准备上下文:无法计算windows 10 Dockerfile路径中的符号链接,windows,powershell,docker,spring-boot,Windows,Powershell,Docker,Spring Boot,我在C:\Users\user\u name\dir下创建了Dockerfile.txt 文件内容包括: FROM centos RUN yum install -y java VOLUME /tmp ADD /test-0.0.1-SNAPSHOT.jar myapp.jar RUN sh -c 'touch /myapp.jar' ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/myapp.

我在
C:\Users\user\u name\
dir下创建了
Dockerfile.txt

文件内容包括:

FROM centos

RUN yum install -y java

VOLUME /tmp
ADD /test-0.0.1-SNAPSHOT.jar myapp.jar
RUN sh -c 'touch /myapp.jar'
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/myapp.jar"]
我在
C:\Users\user\u name\
下移动了Dockerfile和uber jar,并在PowerShell的
C:\Users\user\u name\
下执行了命令

docker build -t spring-boot-docker .
我得到这个错误:

无法准备上下文:无法计算Dockerfile中的符号链接 路径:GetFileAttributesEx C:\Users\user\u name\Dockerfile:系统 找不到指定的文件

你知道怎么解决这个问题吗


谢谢

docker
将默认为名为
Dockerfile
的文件,没有扩展名。由于您将Dockerfile命名为
Dockerfile.txt
,因此必须为其提供
-f
标志

docker build -t spring-boot-docker -f Dockerfile.txt .

docker
将默认为名为
Dockerfile
且不带扩展名的文件。由于您将Dockerfile命名为
Dockerfile.txt
,因此必须为其提供
-f
标志

docker build -t spring-boot-docker -f Dockerfile.txt .

我将文件命名为
Dockerfile
(在Windows下的Git CMD中),结果是

docker构建。

无法准备上下文:无法计算Dockerfile路径中的符号链接:GetFileAttributesEx C:\*windows路径*\Dockerfile:系统找不到指定的文件。

因此,我将其从
Dockerfile
更改为
Dockerfile.txt
,并使用
-f
选项:

docker build-t test\u image-f.\Dockerfile.txt.


它成功了:)

我将文件命名为
Dockerfile
(在Windows下的Git CMD中),结果是

docker构建。

无法准备上下文:无法计算Dockerfile路径中的符号链接:GetFileAttributesEx C:\*windows路径*\Dockerfile:系统找不到指定的文件。

因此,我将其从
Dockerfile
更改为
Dockerfile.txt
,并使用
-f
选项:

docker build-t test\u image-f.\Dockerfile.txt.


它成功了:)

避免使用文本文件进行图像构建,因为Docker引擎配置为根据其约定从“.Dockerfile”扩展名而不是“.txt”扩展名进行构建

最好使用以下任一语法:

语法-A:

$ docker build . -f ./Dockerfile.Dockerfile

$ docker build -t <containername> . -f <mydockerfile>.Dockerfile

使用此语法通过docker build构建docker映像,使用默认的docker文件名“docker文件.docker文件”


语法-B:

$ docker build . -f ./Dockerfile.Dockerfile

$ docker build -t <containername> . -f <mydockerfile>.Dockerfile

$docker build-t-f.Dockerfile
使用此语法通过docker build构建docker映像,使用自定义docker文件名“mydockerfile.Dockerfile”


希望这有帮助

避免使用文本文件进行图像生成,因为Docker引擎配置为根据其约定从“.Dockerfile”扩展名而不是“.txt”扩展名生成

最好使用以下任一语法:

语法-A:

$ docker build . -f ./Dockerfile.Dockerfile

$ docker build -t <containername> . -f <mydockerfile>.Dockerfile

使用此语法通过docker build构建docker映像,使用默认的docker文件名“docker文件.docker文件”


语法-B:

$ docker build . -f ./Dockerfile.Dockerfile

$ docker build -t <containername> . -f <mydockerfile>.Dockerfile

$docker build-t-f.Dockerfile
使用此语法通过docker build构建docker映像,使用自定义docker文件名“mydockerfile.Dockerfile”


希望这有帮助

Dockerfile
not
Dockerfile.txt
docker build-t spring boot docker-f Dockerfile.txt.Dockerfilenot
Dockerfile.txt
docker build-t spring boot docker-f Dockerfile.txt.在新目录中移动jar和Dockerfile.txt并运行命令后“docker build-t spring boot docker-f.\Dockerfile.txt.”在新目录下的PowerShell中为我做了这件事。在新目录下移动jar和Dockerfile.txt并运行命令“docker build-t spring boot docker-f.\Dockerfile.txt”后,感谢您为我做了这件事。谢谢“SYNTAX-A”“不行。您没有为force标志提供参数。@谢谢您指出这一点。试试新语法A,看看它是否有效。“syntax-A”不起作用。您没有为force标志提供参数。@谢谢您指出这一点。试试新语法A,看看它是否有效。