docker 复制目录中给定扩展名的所有文件
docker copy all files in directory with given extention
我可以使用
将一个文件从 docker 容器复制到服务器
docker cp docker_session_name:/root/mydir/ .
我想知道只从 mydir 复制具有给定扩展名的文件,例如 pdf
我不认为你可以用 docker cp command
做到这一点
为此,您可以将目录安装在 docker 中,然后您可以 运行 使用正则表达式的常规 cp 命令将其复制到另一个目录。
坐骑:
docker run -d --name containerName -v myvol2:/app imageName:tag
容器内:
cp app/*.pdf /destination
看起来你不能像 Linux 那样 运行(参见 )
不是这样的:
docker cp docker_session_name:/root/mydir/*.pdf .
简单回答
使用这个脚本:
path="/root/mydir"
for file in $(docker exec docker_session_name sh -c "ls ${path}/*.pdf"); do
docker cp docker_session_name:${file} .
done
归功于 话题
繁琐的答案,更易于使用(无脚本)
但是您可以在主机和所需路径之间安装绑定安装,就像在 docker run
命令中那样:
docker run -v /host/path/:/root/mydir/ my-image
然后 运行 使用通配符 *.pdf
从 docker run
命令中使用的主机路径 /host/path/
cp
我可以使用
将一个文件从 docker 容器复制到服务器docker cp docker_session_name:/root/mydir/ .
我想知道只从 mydir 复制具有给定扩展名的文件,例如 pdf
我不认为你可以用 docker cp command
为此,您可以将目录安装在 docker 中,然后您可以 运行 使用正则表达式的常规 cp 命令将其复制到另一个目录。
坐骑:
docker run -d --name containerName -v myvol2:/app imageName:tag
容器内:
cp app/*.pdf /destination
看起来你不能像 Linux 那样 运行(参见
不是这样的:
docker cp docker_session_name:/root/mydir/*.pdf .
简单回答
使用这个脚本:
path="/root/mydir"
for file in $(docker exec docker_session_name sh -c "ls ${path}/*.pdf"); do
docker cp docker_session_name:${file} .
done
归功于
繁琐的答案,更易于使用(无脚本)
但是您可以在主机和所需路径之间安装绑定安装,就像在 docker run
命令中那样:
docker run -v /host/path/:/root/mydir/ my-image
然后 运行 使用通配符 *.pdf
从 docker run
命令中使用的主机路径 /host/path/
cp