Windows docker build警告非windows docker主机

时间:2017-09-06 16:34:46

标签: windows docker jenkins

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

docker --host a.b.c.d build --no-cache=true --build-arg CONFIGURATION=live -t imagename .

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

2 个答案:

答案 0 :(得分:2)

来自thaJeztah on GitHub

  

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

     

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

答案 1 :(得分:1)

现在已修复。问题出在网关防火墙上,它检测到构建上下文中发送的文件是否为特洛伊木马。可能是Docker构建上下文zip文件或使用不同的扩展名。