Windows docker构建警告非windows docker主机

Gui*_*ume 15 windows jenkins docker

我正在尝试从运行此命令的docker客户端(Windows)构建一个docker镜像:

docker --host a.b.c.d build --no-cache=true --build-arg CONFIGURATION=live -t imagename .
Run Code Online (Sandbox Code Playgroud)

docker主机也是Windows Docker,但是我收到此错误:

安全警告:您正在针对非Windows Docker主机从Windows构建Docker镜像.添加到构建上下文的所有文件和目录都具有"-rwxr-xr-x"权限.建议仔细检查并重置敏感文件和目录的权限.

然后在第一次尝试之后这个:

无效字符'<'寻找值的开头

谁知道为什么会这样?我以前没有错误,唯一的区别在于代码源.有关我使用Jenkins构建项目的信息?谢谢.

更新1 - Dockerfile

FROM microsoft/windowsservercore
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]

ARG CONFIGURATION
EXPOSE 80
ADD src/MyFolder/bin/$CONFIGURATION/ /ContainerFolder
CMD /ContainerFolder/MyApp.exe
Run Code Online (Sandbox Code Playgroud)

Fra*_*rzi 16

来自GitHub 上的 thaJeztah

添加了该警告,因为 Windows 文件系统没有将文件标记为“可执行文件”的选项。因此,如果必须将文件标记为可执行文件,则从 Windows 机器构建 linux 映像会破坏映像。

因此,从 Windows 客户端构建文件时,默认情况下将文件标记为可执行文件;警告在那里,以便您收到通知,并且(如果需要)修改 Dockerfile 以在之后更改/删除可执行位。


Gui*_*ume 1

现在这个问题已经解决了。问题出在网关防火墙中,它检测到在构建上下文中作为特洛伊木马发送的文件。Docker 可能会构建上下文 zip 文件或使用不同的扩展名。