如何检查docker容器中是否存在文件然后复制它

Lea*_*ner 5 docker

我正在使用 docker cp 将正在运行的容器中的文件复制到主机服务器(其中包含正在运行的 docker 容器),如下所示:

docker cp $containerId:/tmp/allure-results $WORKSPACE/allure
Run Code Online (Sandbox Code Playgroud)

这显然仅在文件存在时才有效,但有时在创建文件之前会有延迟。我如何确定文件是否存在然后复制它,如果不等到它存在并且应该发生 cp 。类似的东西:

if allure exits then 
 docker cp $containerId:/tmp/allure-results $WORKSPACE/allure
else
 wait for 5 second and check again
Run Code Online (Sandbox Code Playgroud)

是否可以?

Cli*_*ock 0

你可以使用类似的东西:

docker exec -it $containerId test -f /tmp/allure-results
Run Code Online (Sandbox Code Playgroud)

返回 $? 如果文件存在则为零,如果不存在则为 1。