如何从Docker容器复制整个目录到本地?
Docker容器目录复制到本地的正确方法
当然可以把Docker容器里的整个目录复制到本地,你之前用带*的命令失败,是因为*会被本地shell解析,而非传递给docker cp处理。
正确的操作是直接指定容器内的目录路径,无需添加*:
docker cp <containerId>:/file/path/within/container /host/path/target
这个命令会完整复制容器内指定目录下的所有内容(包括子目录和文件)到本地目标路径。
举个实际例子:如果容器ID是abc123,要把容器内的/app/logs目录复制到本地/home/user/logs-backup,命令就是:
docker cp abc123:/app/logs /home/user/logs-backup
执行后,本地/home/user/logs-backup目录下就会包含容器内/app/logs的所有内容。
额外注意两点:
- 如果本地目标目录不存在,
docker cp会自动创建该目录,再把容器内的目录内容复制进去。 - 如果本地目标目录已存在,容器内目录的内容会被复制到这个已存在的目录下,同名文件会被覆盖,不同名的内容会合并保留。
内容的提问来源于stack exchange,提问作者robbieperry22
相关产品推荐
相关产品推荐

