«

Docker容器与宿主机互相复制文件docker cp

时间:2026-11-14 07:18     作者:emer     分类: Docker


前言

需要把宿主机的配置文件拷进容器,或把容器里生成的日志导出到宿主机,docker cp 是最直接的命令,不需要进入容器内部,也不依赖数据卷。本文讲解容器到宿主机、宿主机到容器、批量目录复制、结合挂载的区别和注意事项。

操作步骤

1. 宿主机文件复制到容器

docker cp ./config.conf 容器名:/etc/app/config.conf

2. 容器内文件复制到宿主机

docker cp 容器名:/var/log/app.log ./app.log

3. 复制整个目录

docker cp ./dir 容器名:/opt/

目标末尾加 / 表示放入该目录。

4. 用容器 ID 代替名称

docker cp ./file.txt abcd123:/path/file.txt

5. 查看容器内文件确认

docker exec -it 容器名 ls /etc/app

6. 与数据卷挂载的区别

docker cp 是一次性拷贝,修改不会同步;要持续同步用 -v 挂载。

常见坑

  1. 目标路径不存在,cp 报错,先确认容器内目录。
  2. 复制后容器重启,手动拷贝的文件仍在容器层,删除容器即丢失。
  3. 把目录当文件复制,目标层级错误。
  4. 权限属主不对,容器内程序读不到文件。
  5. 大文件复制占磁盘,注意容器层空间。
  6. 正在运行的容器也能 cp,无需停止。
  7. 挂载卷里的文件直接在宿主机改,不必 cp。

总结

docker cp 支持双向复制单个文件和目录,命令简单,适合临时传配置、导出日志。它是一次性拷贝不持久,长期文件同步用数据卷。复制后进容器确认路径和权限,重要文件注意容器删除后数据丢失。

遇到问题加QQ23979811 协助处理

标签: Docker 挂载 docker cp 文件复制