Selenium 如何在docker机器中使用docker compose将文件从docker容器复制到主机

Selenium 如何在docker机器中使用docker compose将文件从docker容器复制到主机,selenium,docker,docker-compose,Selenium,Docker,Docker Compose,我在gradle容器中生成了用于selenium测试的报告,我正在尝试将文件从docker容器复制到本地主机。作为一种解决方法,我使用docker cp将文件从容器复制到我的本地容器,并且它可以正常工作。如何使用docker compose卷实现它 下面是我的docker-compose.yml 我运行命令docker compose up->它运行selenium测试并在容器中生成报告 有人能帮忙吗?将数据从容器传递到主机的正常方式是使用docker卷。 简而言之,您可以指定一个主机目录并将其

我在gradle容器中生成了用于selenium测试的报告,我正在尝试将文件从docker容器复制到本地主机。作为一种解决方法,我使用docker cp将文件从容器复制到我的本地容器,并且它可以正常工作。如何使用docker compose卷实现它

下面是我的docker-compose.yml

我运行命令
docker compose up
->它运行selenium测试并在容器中生成报告


有人能帮忙吗?

将数据从容器传递到主机的正常方式是使用docker卷。 简而言之,您可以指定一个主机目录并将其映射到容器内的目录。该目录应用于保存测试报告

services:
  selenium-hub:
    image: selenium/hub
    container_name: selenium-hub_compose
    ports:
      - "4444:4444"
    volumes:
      - ./path/to/report/folder:/host/reports
  • 参见docker文档
  • 类似问题:
  • 在虚拟盒中关闭机器电源->更改虚拟盒中的高级设置

  • 转到虚拟盒中的共享文件夹 给定路径::C:\DockerResults:为文件夹名称指定一个逻辑名称

  • 使用以下命令在DockerTerminal中重新启动机器 docker机器重新启动默认值

  • 机器启动后,打开虚拟机 在虚拟机中创建目录:sudo mkdir/Results

  • 通过在virtual box中执行以下命令,将目录装载到本地windows计算机: Sudo mount–t vboxsf DockerResults/Results
  • 在docker compose文件中添加卷,如下所示
  • 卷数:

        - /DockerResults:/home/Reports/
    

    code
    gradle:image:gradle:jdk8容器\u名称:selenium gradle构建:上下文:。dockerfile:dockerfile卷:-./Result:/C/Users/**/Volumefor对于Windows,您可能必须设置COMPOSE\u CONVERT\u Windows\u path=1环境。变量加上您可能必须执行此处所述的一些配置我没有运行docker for Windows的经验,因此无法在此提供帮助:(我使用的是dokcer机器而不是docker for windows。是否有任何链接可以帮助它更好我假设:请尝试/c/Users/如上文所述我尝试过创建装载并在docker compose中映射卷,它在本地目录中创建.gradle文件夹并搜索gradle任务。不确定如何解决它。)
        - /DockerResults:/home/Reports/