鱼C论坛

 找回密码
 立即注册
查看: 683|回复: 1

[已解决]docker 拷贝时,好像不支持通配符,why?

[复制链接]
发表于 2024-1-6 22:41:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
docker 拷贝时,好像不支持通配符,why?
docker cp ./* n1211:/opt/seamless_communication/models   #不能用*来指定多个文件,why?
最佳答案
2024-1-6 22:41:43
Docker在拷贝文件时,默认是使用宿主机的文件路径进行拷贝操作的。而通配符(比如*)是由宿主机的文件系统解析的,而不是由Docker解析的。所以当你尝试在Docker cp命令中使用通配符时,实际上是将该通配符传递给了宿主机的文件系统,但宿主机并不能理解这个通配符的含义。

为了解决这个问题,你可以使用tar命令来压缩多个文件成一个归档文件,然后再拷贝到Docker容器内部。下面是一个使用tar命令拷贝多个文件的示例:

  1. tar -czf files.tar.gz file1.txt file2.txt file3.txt
  2. docker cp files.tar.gz n1211:/opt/seamless_communication/models/files.tar.gz
复制代码


首先,我们使用tar命令将file1.txt、file2.txt和file3.txt压缩成一个名为files.tar.gz的归档文件。然后,通过docker cp命令将该归档文件拷贝到Docker容器内部的/opt/seamless_communication/models目录下。在容器内部,你可以使用tar命令解压缩这个归档文件并获取其中的各个文件。

希望这个解决方案对你有帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-6 22:41:43 | 显示全部楼层    本楼为最佳答案   
Docker在拷贝文件时,默认是使用宿主机的文件路径进行拷贝操作的。而通配符(比如*)是由宿主机的文件系统解析的,而不是由Docker解析的。所以当你尝试在Docker cp命令中使用通配符时,实际上是将该通配符传递给了宿主机的文件系统,但宿主机并不能理解这个通配符的含义。

为了解决这个问题,你可以使用tar命令来压缩多个文件成一个归档文件,然后再拷贝到Docker容器内部。下面是一个使用tar命令拷贝多个文件的示例:

  1. tar -czf files.tar.gz file1.txt file2.txt file3.txt
  2. docker cp files.tar.gz n1211:/opt/seamless_communication/models/files.tar.gz
复制代码


首先,我们使用tar命令将file1.txt、file2.txt和file3.txt压缩成一个名为files.tar.gz的归档文件。然后,通过docker cp命令将该归档文件拷贝到Docker容器内部的/opt/seamless_communication/models目录下。在容器内部,你可以使用tar命令解压缩这个归档文件并获取其中的各个文件。

希望这个解决方案对你有帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 10:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表