1

我从 Dockerfile 创建了一个 Docker 映像,该映像具有运行机器人框架的环境。我想使用 docker 映像运行本地文件并将测试的输出保存在本地。

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

$ docker create -ti -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot

然后我知道从 docker 保存文件是 cp

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

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

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

4

1 回答 1

2

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

docker run --name mytests -v /path/to/file/testWithRobot/robottest.robot:/test/robottest.robot dc3dccfee60 robot test/robottest.robot

并使用name我们设置的内容获取内容:

docker cp mytests:/output.xml .
docker cp mytests:/log.html .
docker cp mytests:/report.html .

然后您可以使用以下命令删除已停止的容器:

docker rm mytest

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

于 2019-09-18T13:39:25.473 回答