DockerFile:在docker copy命令

时间:2017-10-17 08:26:08

标签: asp.net-core dockerfile

我们有根据以下层次结构编写的微服务项目

----BaseDir
      |-----Services
               |--------Microservices
                              |-----------Docker file
      |-----ClassLibraries
               |--------Project1
               |--------Project2

现在,当执行docker build命令时,我们遇到了问题。 MicroService Project引用了ClassLibraries文件夹下的一些项目。

以下是docker文件的内容

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

ADD ["../../ClassLibraries/Project1/Code/*.*","./"]
RUN dotnet publish -c Release -o out

# Build runtime image

FROM microsoft/aspnetcore:2.0
WORKDIR /app
EXPOSE 80
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "Service1.dll"]

当我们运行docker build命令时,我们收到以下错误:

ADD failed: no source files were specified

1 个答案:

答案 0 :(得分:2)

在执行docker build时,

Dockerfile只能访问其上下文(与ADD及以下相同的文件夹中的文件)。因此,您无法以这种方式引用父文件夹。遗憾的是,您需要重新构建文件夹布局才能使其正常工作。