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

带有复制命令和相对路径的Dockerfile

姬英武
2023-03-14

在dockerfile中,有相同的方法将copy命令与相对路径一起使用吗?我正在尝试使用:

COPY ./../folder/*.csproj ./

OBS。:我的结构文件夹(我在项目测试上运行dockerfile,另一个文件在项目控制台文件夹中)是:

|-项目控制台

|-项目测试

Im收到以下错误:

错误:服务“app”无法生成:复制失败:未指定源文件。

我的目的是在同一个docker中有两个项目。我有一个dotnet核心控制台和另一个带有unity测试(NUnity)的控制台,我正在docker中运行unity测试。

更新

可以使用多阶段:https://docs.docker.com/develop/develop-images/multistage-build/

或者使用docker-comment与build:https://docs.docker.com/engine/reference/commandline/build/

例如:

services: 

worker:
    build:
      context: ./workers
      dockerfile: Dockerfile

共有1个答案

葛和志
2023-03-14

参考:允许来自外部构建上下文的Dockerfile

你可以试试这条路

$ cd project-console
$ docker build -f ../project-test/Dockerfile .

更新:

使用docker compose

build:
  context: ../
  dockerfile: project-test/Dockerfile

<代码>/ 将被设置为上下文,它应该在您的案例中包括项目控制台和项目测试。这样您就可以复制项目控制台。Dockerfile中的csproj。

 类似资料:
  • 我在Springdoc生成的OpenAPI规范中得到了验证错误,并且无法在网上找到与Java代码格式相匹配的示例。 我试图用Springdoc为Spring Boot控制器生成OpenAPI规范。我有一个具有多个路径变量的路径映射,方法签名接受一个命令对象(命令对象是由这些路径变量自动构造的)。swagger-ui.html似乎或多或少地起作用了,但是生成的JSON/YAML规范似乎并不有效。 为

  • 主要内容:什么是当前工作目录,什么是绝对路径与相对路径,Python处理绝对路径和相对路径在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。 什么是当前工作目录 每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。 注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。 在 Python 中,利用 os.getcwd() 函数可以取得当前工作路径的字

  • 在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在《 Linux文件系统的层次结构》中提到的 /home/cat 就表示的是 cat 文件所存放的位置。只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。 指明一个文件存放的位置,有 2 种方法,分别是使用 绝对路径和 相对路径。 我们知道,Linux 系统中所有的文件(目录)都被组织成以根

  • 本文向大家介绍Linux 相对路径和绝对路径的使用,包括了Linux 相对路径和绝对路径的使用的使用技巧和注意事项,需要的朋友参考一下 01. 概述 绝对路径和相对路径在shell环境中经常遇到,各有用处。有时候相对路径比较方便,有时候绝对路径比较方便。 02. 绝对路径(Absolute Pathname) 绝对路径必定由**/**开头 绝对路径是为档案/文件的所在位置做指向 在任何时候,都可以

  • 解决方案目录包含ExtraDlls和项目目录。在Project.csproj文件中,我们在ExtraDlls中有相对路径的dlls引用。ExtraDlls目录中的Dlls总是可用的。 使用下面的批处理文件发布web项目。但由于以下提到的细节,它失败了。 已尝试更改批处理文件中的根目录。i、 e.当根目录设置为包含MSBuild的根目录时。exe,还是同样的问题。 设置用$(SolutionDir)

  • 本文向大家介绍相对路径和绝对路径的写法总结,包括了相对路径和绝对路径的写法总结的使用技巧和注意事项,需要的朋友参考一下 在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。 只要在字符串前加上@即可直接使用“\”。所以上面的路径在C#中应该表示为“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。 相对路径使用“/”字符作为目录