我目前正在探索如何以编程方式删除Docker容器中的文件/文件夹。我知道我们可以使用docker cp将文件从容器复制到主机。然而,我正在寻找类似docker mv或docker rm的东西,它允许我在docker中移动或删除文件/文件夹。
这个场景是,我们正在用Java编写自动化测试用例,对于一个用例,我们需要从服务器的日志文件夹中复制日志文件,以Assert测试用例编写的日志。我们使用docker cp来复制日志文件。但是,它也包含旧测试用例的日志。所以我在想是否可以在执行测试用例之前删除日志文件。它确保我复制的日志是由我的测试用例写的。还有别的路吗
3条答案
按热度按时间ctehm74n1#
您可以使用下面的命令从主机上运行的程序中删除文件
字符串
然而,如果因为容器从未被移除而存在旧文件,则一般的做法是在所有测试套件执行完成后移除容器。
新作业应创建新容器。
ktca8awb2#
在docker文件定义中你可以使用
第一个月
但是,使用ADD或COPY添加的任何内容仍然会增加图像的大小。
EDIT:要从运行在主机上的外部程序访问正在运行的容器,请尝试以下操作。
1.启动示例时将主机文件夹装载为卷。
1.在主机上运行脚本或程序以删除主机上所需的文件夹,这也会影响容器文件系统。
rm5edbpk3#
您可以访问容器bash控制台
字符串
然后当你在容器中时,你可以用控制台做任何事情。我使用这个命令来查找和重命名jboss部署目录中的文件。修改它,让它为你服务。您可以删除文件也insted的mv使用rm
型