Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在docker中使用robot框架执行本地测试并将输出保存到主机_Docker_Robotframework - Fatal编程技术网

如何在docker中使用robot框架执行本地测试并将输出保存到主机

如何在docker中使用robot框架执行本地测试并将输出保存到主机,docker,robotframework,Docker,Robotframework,我从一个docker文件创建了一个docker映像,该文件有一个运行robot framework就绪的环境。我想使用docker映像运行一个本地文件,并在本地保存测试的输出 我知道我可以在运行映像和执行测试时挂载文件 $ docker create -ti -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot 然后我知道从docke

我从一个docker文件创建了一个docker映像,该文件有一个运行robot framework就绪的环境。我想使用docker映像运行一个本地文件,并在本地保存测试的输出

我知道我可以在运行映像和执行测试时挂载文件

$ docker create -ti -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot
然后我知道从docker保存一个文件是cp

我有两个问题,我知道一旦我停止docker的实例,文件就会被删除,或者更好地说,当我再次启动mage时,是它的另一个实例。如果我进入docker映像中装载文件并运行测试,我知道输出文件会保存在根目录中

Output:  /output.xml
Log:     /log.html
Report:  /report.html

如何将这些文件output.xml、log.html和report.xml保存到主机中。我希望我可以使用一个命令来运行测试和保存。我希望我对docker解释得足够好,这对docker来说是非常新的。

只需使用以下命令运行一个容器:

docker run --name mytests -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot
并使用我们设置的
名称
抓取内容:

docker cp mytests:/output.xml .
docker cp mytests:/log.html .
docker cp mytests:/report.html .
然后,您可以使用以下命令删除已停止的容器:

docker rm mytest

此外,使用这种方法,您将不会面临文件权限和所有权问题。

谢谢您,但我可以问一下如何实际运行using-name标记吗
unknown-shorthand标志:'n'in-name
我在复制您的命令时得到这个,我知道--name,但它仍然不起作用,它必须是
--name
。那么问题出在哪里呢?
docker run--name mytest-v Desktop/testWithRobot/robottest.robot:/test/robottest.robot dc3dcfee60 robot test/robotest.robot
我运行这个命令,得到
[错误]解析“test/robottest.robot”失败:要执行的文件或目录不存在。
这可以工作,因此挂载可以解决文件名中的拼写错误/这很尴尬,谢谢您的帮助