【问题标题】:How can I export my tests results from docker container to a directory on the host machine如何将我的测试结果从 docker 容器导出到主机上的目录
【发布时间】:2020-01-28 22:14:15
【问题描述】:

我在 docker 容器中运行了一些测试,最后,测试报告在名为“allure_test_results”的目录中生成,我希望这些报告在主机上可用。

1.我在 docker 文件中作为入口点运行的 bash 文件中的命令:

behave -f allure_behave.formatter:AllureFormatter -o allure_test_results service/features/

2.docker 镜像也将在 Jenkins CI 中运行,我希望同样的事情发生。

3.我试过的解决方案(容器没有运行):

docker cp <container ID>:/allure_test_results/ allure_test_results/

docker run <image id> cp /allure_test_results/:/<repo root>/allure_test_results/

附言。如果可以在 dockerfile 或 docker-compose 中完成复制,那就太好了

我非常感谢任何帮助。 非常感谢你们

【问题讨论】:

  • 你能用 docker 的 -v 参数映射一个卷(映射到写入测试输出的容器文件夹的本地文件夹)吗?

标签: docker allure


【解决方案1】:

我只是想通了。感谢伟大的社区。 我将此添加到 docker compose 文件中:

volumes: - ./<host dir>/:/<container dir>/allure_test_results/

【讨论】:

    【解决方案2】:

    您可以将内部目录映射到主机目录。在简单的docker中使用以下

    docker run -v <host_directory_path>:/allure_test_results/ allure_test_results docker_image:tag
    

    在 docker compose 中使用 Aziz 所说的卷映射。

    Volumes:
      - <host_directory_path>:/allure_test_results/ allure_test_results
    

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      卷挂载是 docker 中的选项:

      docker run -v Jenkins _workspace path:/allure_test_results

      我们会将卷映射到 jenkins 工作区,您可以将这些结果发布到 bin jenkins

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-08
        • 2021-04-03
        • 2013-03-19
        • 2018-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多