首页/云/Docker 容器速查/docker compose cp 与容器互拷文件
Compose 编排55 条

docker compose cp 与容器互拷文件

在服务容器与宿主机之间复制文件:取日志、放配置文件、导出数据都用它,支持指定服务与容器内路径。

Docker 容器速查云更新于 2026-10-13

在宿主与容器之间搬文件

docker compose cp 用来在服务容器与宿主机之间复制文件:取出容器里的日志与配置、把本地文件放进容器、导出数据目录都用它。方向看冒号在哪一侧——冒号前是服务名时是导出,冒号前是本地路径时是导入。服务存在多个副本时,操作目标默认是第一个容器,这一点在排查时要留意。

基本信息

语法docker compose cp 服务:容器内路径 宿主路径,反向写法同理
方向判断看冒号位于哪一侧
命令来源Compose v2 提供,老版本需用 docker cp
多副本默认作用于第一个容器

典型使用场景

  • 取配置文件:把容器里实际生效的配置导出来与仓库里的版本对比
  • 放临时文件:调试期间替换某个配置或脚本,避免重建镜像
  • 导出日志:容器内日志写文件而非标准输出时,取出来分析
  • 收集产物:任务型容器生成报告后导出到宿主
  • 补数据文件:把初始化数据放入容器做一次性导入

复制示例

复制示例
# 容器导出到宿主
docker compose cp web:/etc/nginx/nginx.conf ./nginx.conf.bak

# 宿主导入到容器
docker compose cp ./nginx.conf web:/etc/nginx/conf.d/default.conf

# 导出整个目录
docker compose cp web:/var/log/app ./logs/

# 导入后让服务重新读取配置
docker compose exec web nginx -s reload

方向与用途

写法方向典型用途
cp 服务:/路径 ./本地容器到宿主取日志、导出配置、收集产物
cp ./本地 服务:/路径宿主到容器临时放配置与脚本、补数据文件
cp 服务:/目录 ./本地目录容器到宿主(目录)批量导出日志目录
cp ./目录 服务:/目录宿主到容器(目录)一次性导入初始数据
复制进容器的文件在容器重建后就没了,需要长期生效的内容要落在镜像或挂载卷里。
覆盖正在被进程使用的配置文件后,通常要重新加载或重启服务才会生效,复制只是一半动作。

易错点

  • 把临时复制的配置当正式变更:容器重建后失效,需要固化的改动要写进镜像或挂载
  • 方向写反:把要导出的文件覆盖到本地,或把本地文件误覆盖容器内路径,操作前确认冒号位置
  • 多副本环境下只改了一个容器:默认只作用于第一个容器,多副本场景要改用编排文件统一变更
  • 覆盖运行中的配置文件不重载:改动看起来没生效,误判为复制失败

数据来源与参考

  • Docker 官方 CLI 参考:docker compose cp(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌