Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Docker Copy命令失败_C#_Docker_Docker Compose_Dockerfile - Fatal编程技术网

C# Docker Copy命令失败

C# Docker Copy命令失败,c#,docker,docker-compose,dockerfile,C#,Docker,Docker Compose,Dockerfile,我是Docker新手,正在运行Docker文件 **我的Docker文件** 来自microsoft/dotnet:2.2.0-preview1-aspnetcore-runtime作为基础 WORKDIR/app 来自microsoft/dotnet:2.2.100-preview1-sdk AS-build WORKDIR/DineshVisualStudio/Autofac拦截器/AutofacModule/Autofac.interface.ConactFactory 复制Autofac

我是Docker新手,正在运行Docker文件 **我的Docker文件**

  • 来自microsoft/dotnet:2.2.0-preview1-aspnetcore-runtime作为基础
  • WORKDIR/app
  • 来自microsoft/dotnet:2.2.100-preview1-sdk AS-build
  • WORKDIR/DineshVisualStudio/Autofac拦截器/AutofacModule/Autofac.interface.ConactFactory
  • 复制Autofac.Interface.ConcatFactory.csproj项目/
  • WORKDIR/Autofac拦截器/项目
  • 运行dotnet还原
  • 复制/Autofac.interface.conactFactory
  • 运行dotnet构建-c发行版-o/app
  • 从生成为发布
  • 运行dotnet发布-c发布-o/app
  • 以垒为终场
  • WORKDIR/app
  • 复制--from=publish/app
  • 入口点[“Autofac.Interface.ConcatFactory.exe”]
  • 运行构建-t myappfactory时。失败。我在COPY命令中尝试了许多路径组合,但没有成功

    **我正在使用Visual studio 2017,还安装了Docker工具** 这是我的文件夹结构

    docker build-t自动界面。。每次说创建文件失败时,我都会收到错误消息。系统找不到指定的文件

    我正在使用Cmd从我当前的working.csproj文件夹构建docker

    { 
    D:\DineshVisualStudio\Autofac- 
    Interceptor\AutofacModule\Autofac.Interface.ConcatFactory>**docker build -t 
    autofacinterfaceconcatfactory .**
    
    Sending build context to Docker daemon  4.608kB
    Step 1/15 : FROM microsoft/dotnet:2.2.0-preview1-aspnetcore-runtime AS base
    ---> 2df5940c47f7
    Step 2/15 : WORKDIR /app
    ---> Using cache
    ---> f4d2190d9b44
    Step 3/15 : FROM microsoft/dotnet:2.2.100-preview1-sdk AS build
    ---> af242cb10bf0
    Step 4/15 : WORKDIR /DineshVisualStudio/Autofac- 
    interceptor/AutofacModule/Autofac.interface.ConcactFactory
    ---> Using cache
    ---> dbf15787395b
    Step 5/15 : COPY /Autofac.Interface.ConcatFactory.csproj project/
    COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker- 
    builder138146052\COPY: The system cannot find the file specified.
    }
    
    
    **after @Mike suggestion .Now I am getting an issue**
    
    
    {    D:\DineshVisualStudio\Autofac- 
         Interceptor\AutofacModule\Autofac.Interface.ConcatFactory>docker build 
        -t myappfact .
        Step 6/15 : WORKDIR /Autofac-interceptor/project
          Step 7/15 : RUN dotnet restore
         ---> Running in 9e91df3e68a3
        MSBUILD : error MSB1003: Specify a project or solution file. The current 
       working directory does not contain a project or solution file.
       The command 'cmd /S /C dotnet restore' returned a non-zero code: 1
    }
    

    您的Dockerfile中是否有连续两次的
    复制
    这个词?

    我认为您不需要
    复制/Autofac.Interface.ConcatFactory.csproj
    中的前导
    /
    。源文件是相对于当前工作目录的,您之前已经调用了
    WORKDIR


    命令“COPY/Autofac.Interface.ConcatFactory.csproj project/”失败。我建议您阅读更多有关命令副本的内容。如果您从文件夹“D:\DineshVisualStudio\Autofac-Interceptor\AutofacModule\Autofac.Interface.ConcatFactory”运行docker build,请使用命令“COPY..”。

    我已按照您的建议进行了修改。现在我陷入了最后一点D:\DineshVisualStudio\Autofac拦截器\AutofacModule\Autofac.Interface.ConcatFactory>docker build-t myappfact。将生成上下文发送到Docker daemon 18.98MB步骤6/15:WORKDIR/Autofac interceptor/project-->Using cache-->60441DD4F55步骤7/15:RUN dotnet restore-->RUN in 9e91df3e68a3 MSBUILD:错误MSB1003:指定项目或解决方案文件。当前工作目录不包含项目或解决方案文件。命令“cmd/S/C dotnet restore”返回一个非零代码:1您的
    WORKDIR
    可能已关闭。在步骤6中,我将为它提供完全限定的路径:
    WORKDIR/DineshVisualStudio/Autofac拦截器/AutofacModule/Autofac.interface.conactFactory/project
    。还要注意的是,步骤8可能与前导字符
    /
    有相同的问题。在我的例子中,我有多个文件夹具有csproj文件,并且具有依赖关系。那么这个Docker文件可以工作吗?我对.NET开发和项目结构不太熟悉,但一般来说,您应该将Docker构建上下文设置为所有项目的最高级别公共目录。然后确保引用路径的任何命令都是相对于您设置的任何
    WORKDIR
    指令的。您还可以尝试删除所有
    WORKDIR
    指令,并确保您引用的每个路径都与构建上下文相关。Mikes建议后,我修改了docker文件。现在我遇到了一个问题{D:\DineshVisualStudio\Autofac-Interceptor\AutofacModule\Autofac.Interface.ConcatFactory>docker build-t myappfact.Step 6/15:WORKDIR/Autofac Interceptor/project Step 7/15:RUN dotnet restore-->Running in 9e91df3e68a3 MSBUILD:error MSB1003:指定项目或解决方案文件当前工作目录不包含项目或解决方案文件。命令“cmd/S/C dotnet restore”返回非零代码:1}
    Step 5/15 : COPY COPY