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

无法将文件从docker-compose挂载复制到主机

闾丘德业
2023-03-14
问题内容

我无法将Selenium测试生成的文件复制到安装到主机的docker容器内的文件夹中。

这是我的撰写文件的样子

  selenium:
    image: 'selenium/standalone-chrome'
    expose:
      - "4444"
  tests:
    build:
      context: ./tests
      dockerfile: Dockerfile
    depends_on:
      - selenium
      - web
    volumes:
      - /testResultsReport:/testResultsReport

这就是我的目录结构。

\
 - docker-compose.yml
 - build scripts
 - tests
   - testResultsReport
   - Test scripts

运行docker-compose时在testResultsReport文件夹中生成的文件的名称为 TestResultsReport.HTML

由于我的测试在port上的selenium服务器中运行4444,我应该在其中安装卷吗?我试图这样做,但仍然没有将我的HTML文件复制到主机?我确认在compose之外运行测试时生成了html文件。

我也尝试过./testResultsReport,但是它在根目录中添加了一个名为testResultsReport的文件夹,但没有执行任何操作。所以我用了./tests/testResultsReport但仍然没有得到文件。


问题答案:

通过使用正确的文件夹和绝对路径来工作。谢谢@chrisz

selenium:
    image: 'selenium/standalone-chrome'
    expose:
      - "4444"
  tests:
    build:
      context: ./tests
      dockerfile: Dockerfile
    depends_on:
      - selenium
      - web
    volumes:
      - ./tests/testResultsReport:/tests/testResultsReport


 类似资料:
  • 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理本身上安装所有的运行时和库。 为了实现这一点,我需要将在容器中构建的构建构件复制回主机中。有可能吗?

  • 问题内容: 我正在尝试为我们使用的Docker容器构建备份和还原解决方案。 我已经创建了Docker基本映像,并且不想每次都使用Docker文件重建它来向其添加文件。 我想创建一个从主机运行的脚本,并使用Docker映像创建一个新容器,然后将文件复制到该容器中。 如何将文件从主机复制到容器? 问题答案: 该命令可用于复制文件。 可以将一个特定文件复制到容器中,例如: 可以从容器中复制一个特定文件,

  • 问题内容: 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理程序本身上安装所有运行时和库。 为此,我需要将容器内部构建的构建工件复制回主机。那可能吗? 问题答案: 为了将文件从容器复制到主机,可以使用以下命令 这是一个例子: 这里 goofy_roentgen 是我从以下命令获得的容器名称: 您还可以使用(部分) 容器ID 。以下命令等效于第一个

  • 问题内容: 我正在尝试将一组文件从Docker主机复制到容器。在AUFS系统上,直接进入/ var / lib / docker / aufs / …即可。但是我是另一个使用Fedora的系统,它具有devicemapper作为存储驱动程序。在这个系统上,如果我这样做: 我什么都没有。我已经尝试了将文件从主机复制到Docker容器的所有建议 使用tar似乎很棒,而不是直接转到基础FS。但是我不能假

  • 我一无所获。我尝试了从将文件从主机复制到Docker容器的所有建议 使用tar似乎很棒,而不是直接去底层FS。但我不能假设焦油会出现在所有容器中。 如果是相关的,我甚至尝试在容器中创建一个文件,但它然后做了一个查找。-在/var/lib/docker/devicemapper/mnt中命名无效。

  • 我正在编写来构建应用程序。我知道您可以使用 (请参见将文件从Docker容器复制到主机),但我只想运行 在Dockerfile中是否有一个命令可以用于从容器中复制到主机中?像的反义词吗?