在容器停止运行之前将文件复制到主机

时间:2019-05-21 15:37:52

标签: docker pytest pytest-cov

我正在docker容器中运行Flask应用程序,将其与postgres容器链接,并使用pytest进行测试。如果我运行命令

docker run -it --env-file=.env --link postgres-test app pytest --cov=service . --cov-report html:cov_html

我的测试正在运行,我可以看到输出,但是如何在该容器停止运行之前复制coverage目录cov_html?我希望能够在浏览器中以html格式查看覆盖率报告。

我目前的解决方法非常糟糕,docker run -it --env-file=.env --link postgres-test app bash,然后直接在容器中运行pytest,而当容器仍在运行docker cp时,我正在本地目录中运行。

我宁愿只运行诸如原始命令之类的命令,而当pytest完成时,本地目录将被最新的覆盖率报告覆盖,因此,浏览器刷新应该是我所做的一切以查看更改。

1 个答案:

答案 0 :(得分:1)

您好,与docker一起您可以编写一个自定义ENTRYPOINT并使用一个卷,这样,一旦测试完成,入口点脚本的末尾将通过cov_html复制到该卷所在的区域。像这样

tf.*