Docker MSBuild webdeploy包输出zip文件不可访问

Docker MSBuild webdeploy包输出zip文件不可访问,docker,msbuild,tfsbuild,Docker,Msbuild,Tfsbuild,我已经创建了一个自定义Docker映像,其中包含VS构建工具。当我运行容器以使用msbuild构建VS sln文件时,它会生成一个部署包。输出文件夹中除.zip以外的所有文件都可以访问。当我看到.zip文件的属性并单击对话框中的“安全性”选项卡时,它显示“您必须具有读取权限才能查看此对象的属性”。所有其他文件都没有此问题,如SourceManifest、deploy readme、SetParameters和deploy cmd文件 这是我的docker命令: docker run -i --r

我已经创建了一个自定义Docker映像,其中包含VS构建工具。当我运行容器以使用msbuild构建VS sln文件时,它会生成一个部署包。输出文件夹中除.zip以外的所有文件都可以访问。当我看到.zip文件的属性并单击对话框中的“安全性”选项卡时,它显示“您必须具有读取权限才能查看此对象的属性”。所有其他文件都没有此问题,如SourceManifest、deploy readme、SetParameters和deploy cmd文件

这是我的docker命令:

docker run -i --rm --name myweb -w C:/users/Administrator/Documents -v "$(Agent.BuildDirectory):c:/users/Administrator/Documents/myweb:rw" vsbuildtools2017:web-v1 msbuild "myweb\s\CSS.sln" /nr:false /fl /flp:"logfile=myweb\s\css.sln-build.log" /p:platform="any cpu" /p:configuration="release" /p:RunCodeAnalysis=true /p:DeployOnBuild=true /p:PublishProfile=Release /p:PackageLocation="c:/users/Administrator/Documents/cssweb/a/PublishedPackage"
如果我在容器外部运行MSBuild命令,它的工作方式就像一个符咒


我在这里遗漏了什么?

似乎是权限问题。只需引用此线程:并尝试更改Dockerfile

zip文件以root用户身份下载,用户可能无法读取 香港用户

尝试按以下方式更改Dockerfile:

RUN useradd -ms /bin/bash kong
RUN echo "kong:password" | chpasswd
RUN adduser kong sudo
USER kong
WORKDIR /home/kong
RUN wget "${url}/my-archive.zip" -P /home/kong
RUN unzip /home/kong/my-archive.zip
这样,.zip文件将由kong用户拥有,您将 在他的主目录中解压它

另一个类似的线程供您参考: