docker cp
在容器和主机之间复制文件或目录
语法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
-a --archive |
归档模式,保留文件权限和所有者 | docker cp -a web:/app/config ./config |
进阶 |
-L --follow-link |
跟随符号链接 | docker cp -L web:/app/link ./file |
进阶 |
示例
从容器复制文件到主机
docker cp web:/app/logs/error.log ./error.log
排查问题时导出日志文件
从主机复制文件到容器
docker cp ./config.json web:/app/config.json
临时更新容器内配置
复制整个目录
docker cp web:/app/data ./backup/
备份容器内数据
从已停止的容器复制
docker cp stopped-container:/var/log/app.log ./
容器不需要运行也能复制文件
常见错误
Error: No such container:path
容器名或路径错误,确认容器存在且路径正确
not a directory
目标路径格式问题,复制目录时确保目标路径以 / 结尾
技巧
- docker cp 不需要容器在运行状态,已停止的容器也可以复制文件
- 临时调试时可以用 cp 把配置文件复制进容器,但正式环境应该用卷挂载
- 复制大文件时考虑用 docker volume 代替