当前位置: 首页 > 面试题库 >

带有docker和.NET Core 2.0的VSTS CI / CD-复制失败

澹台镜
2023-03-14
问题内容

在遵循几个.NET Core 2.0 Visual Studio Team Services连续集成/连续交付示例之后,我遇到了VSTS中的复制错误。

通过VS17添加docker支持可以在本地使用这样的dockerfile很好地工作。

FROM microsoft/aspnetcore:2.0
ARG source
WORKDIR /app
EXPOSE 80
COPY ${source:-obj/Docker/publish} .
ENTRYPOINT ["dotnet", "myapp.dll"]

借助MVC应用程序和WebAPI应用程序,它可以在本地与docker-compose完美结合。

添加VSTS CI构建过程并运行它时,我一直在副本中遇到错误。

构建myapp服务’myapp’失败: COPY失败:GetFileAttributesEx \?\ C:\ Windows \ TEMP \
docker-builder91 \ obj \ Docker \ publish:系统找不到指定的路径。C:\ Program Files \
Docker \ docker-compose.exe失败,返回码:1


问题答案:

我发现的解决方法来自此博客。

请注意,他们在linux docker机器上遇到错误

COPY失败:stat / var / lib / docker / tmp / docker-builder613328056 / obj /
Docker / publish:没有这样的文件或目录/ usr / bin / docker失败,返回码:1

解:

像这样制作一个Dockerfile.ci

FROM microsoft/aspnetcore-build:2.0 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "SiliconValve.Vsts.DockerDemo.dll"]

它还需要修改.dockerignore文件。

bin/
obj/
!*.dll
!obj/Docker/publish/*
!obj/Docker/empty/

这使我可以继续执行CI流程,但是我认为可以更轻松地解决此问题。



 类似资料:
  • 我制作了一个JHipster应用程序,我想添加一个带有私有Gitlab runner的CI/CD,以便部署在私有Docker注册表上。我得到了这样的失败: 这是我演讲的相关部分。gitlab ci。yml 编辑:有一个未配置的变量。现在我得到了 如何告诉运行程序接受不安全的(明文)连接?

  • 我是Docker的新手,同时运行Docker文件**我的Docker文件** 来自Microsoft/DotNet:2.2.0-Preview1-AspNetCore-Runtime作为基础 工作目录/app 来自Microsoft/DotNet:2.2.100-Preview1-SDK AS Build workdir/dineshvisualstudio/autofac-interceptor

  • 问题内容: 鉴于以下Dockerfile 在复制的测试目录中,我已将文件许可权设置为770。 如果在容器内进行操作,则无法访问测试目录中的任何文件或子目录。似乎此问题与aufs文件系统中的所有权有关,在该文件系统中,复制的目录仍然由root拥有,并且权限设置为770。 是否有解决此问题的方法以正确设置权限?一种可能是在复制之前将原始目录的权限设置为容器用户的uid。但这似乎更像是一种hack。 问

  • env:, 当Docker映像的第一个参数是以

  • (我是一个Docker初学者。然后我学习了CentOS-7的一些教程) 在我的 ,我尝试按照以下步骤学习 Docker。 所以到目前为止,一切(似乎)都很好。 现在问题来了,当我运行: 这到底是什么意思,更重要的是,发生了什么,我该如何解决这个问题? 谢谢大家:)

  • 问题内容: 我正在使用Jenkins作业来自动化容器的构建/推送。为此,我使用“ Execute Shell”构建步骤,并在内部进行所有Docker配置(我尝试使用管道,但是这些操作在我团队的Jenkins配置中不起作用;请在这个问题的范围)。这项工作首先克隆了一个git仓库(),然后我有一个shell脚本编写了一些我想包含在Docker容器(例如)中的文件以及一个Dockerfile。 构建失败