selenium - 如何在 docker-machine 中使用 docker-compose 将文件从 docker 容器复制到主机
问题描述
我在 gradle 容器中为我的 selenium 测试生成了报告,我正在尝试将文件从 docker 容器复制到本地主机。作为一种解决方法,我使用 docker cp 将文件从容器复制到我的本地并且它可以工作。如何使用 docker-compose 卷来实现它。
下面是我的 docker-compose.yml
version: "3 "
services:
selenium-hub:
image: selenium/hub
container_name: selenium-hub_compose
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome-debug
container_name: selenium-chrome
depends_on:
- selenium-hub
ports:
- "5900"
environment:
- http_proxy=http://x.x.x.x:83
- https_proxy=http://x.x.x.x:83
- HUB_HOST=selenium-hub
- HUB_PORT=4444
gradle:
image: gradle:jdk8
container_name: selenium-gradle
build:
context: .
dockerfile: dockerfile
我运行命令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
推荐阅读
- nativescript - 无法解析配置“:classpath”的所有工件。> 无法解析 io.fabric.tools:gradle:1.26.1
- scala - 在 Spark 中使用自己的方法修改数据集的 var 类型
- racket - Racket 有依赖管理器吗?
- javascript - 网页解析 | 如何获取脚本生成的数据
- javascript - 如何将数据数组转换为 Leaflet LatLngs 数组?
- python - 带有“命名捕获组”的正则表达式来捕获模式或替代模式
- python-3.x - 如何从 Azure 服务总线读取一堆消息 - 使用 Python 订阅?
- php - 借助 sort() 函数对有序整数数组进行排序的 PHP 类
- android - Android中的图像存储位置
- java - 如何使用 selenium 处理 Web 应用程序的测试执行中间的会话超时弹出窗口