当前位置: 首页 > 知识库问答 >
问题:

Docker复制命令失败

邓高韵
2023-03-14

我是Docker的新手,同时运行Docker文件**我的Docker文件**

  1. 来自Microsoft/DotNet:2.2.0-Preview1-AspNetCore-Runtime作为基础
  2. 工作目录/app
  3. 来自Microsoft/DotNet:2.2.100-Preview1-SDK AS Build
  4. workdir/dineshvisualstudio/autofac-interceptor/autofacmodule/autofac.interface.concactFactory
  5. 复制autofac.interface.concatfactory.csproj项目/
  6. workdir/autofac-拦截器/project
  7. 运行dotnet还原
  8. 复制/autofac.interface.concactFactory。
  9. 运行dotnet Build-C Release-O/App
  10. 从生成为发布
  11. 运行dotnet publish-c release-o/app
  12. 从基数作为最终值
  13. 工作目录/app
  14. 复制--from=publish/app.
  15. 入口点[“autofac.interface.concatfactory.exe”]

运行Build-T myappfactory时。它的失败。我尝试了许多组合路径在复制命令,但没有运气。

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

我正在使用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
}

共有1个答案

卫皓
2023-03-14

我认为您不需要copy/autofac.interface.concatfactory.csproj中的前导/。源文件是相对于当前工作目录的,您之前已经调用了workdir

https://docs.docker.com/engine/reference/builder/#copy

 类似资料:
  • 以前我的磁盘空间快用完了,mongodb停止工作。然后我增加了磁盘大小,但mongodb无法开始工作。 虽然启用了日志记录,但我已经执行了以下命令 sudo-u mongodb mongod--dbpath/var/lib/mongodb/--repair 如何修复特定的集合(change_set)或数据库? UPDATE:当我运行mongodump时,--repair for change_se

  • 按照在CMD之前执行脚本的建议(我需要在容器重新启动之前清除一个临时dir,以修复一个bug),我将docker文件从使用CMD修改为entrypoint,如下所示: 并且在入口点文件中,在rm-rf命令之后结束: 但是docker无法启动容器,它退出,容器日志显示:

  • 我的码头工人-作曲: EntryPoint.sh

  • 我一直试图理解command:和command:-在我的docker组合文件中的区别: 我在这里错过了什么?

  • 解决方法可能很简单,但我是个新手,所以请原谅我。甚至我也可以启动和play-around(创建对象、进行计算),下面的简单命令: 没用。上面写着: “语法错误:意外标识符”。 我正在尝试将此写入Node.js命令提示符。我正在使用Windows 10。

  • 我有一个多模块maven项目,我想为每个模块创建和发布一个映像,除了一个通用的实用程序模块,它是所有其他模块的依赖项。 项目结构如下: 为了构建一个fox示例中的module\u,我需要将common\u module文件夹也复制到容器中,并首先在common文件夹上运行mvn install。如果已经构建好,我可以在模块a