使用docker cp命令将宿主机文件复制到Docker容器
命令格式
bash
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
参数说明
- SRC_PATH: 宿主机文件/目录路径(绝对路径推荐)
- CONTAINER: 容器名称或ID
- DEST_PATH: 容器内目标路径
使用场景
1. 复制单个文件
bash
docker cp /host/path/file.txt my-container:/container/path/
⚠️ 当目标路径为目录时,必须加斜杠/
结尾
2. 复制多个文件
bash
docker cp /host/{file1.txt,file2.jpg} my-container:/data/
docker cp "/host/*.log" my-container:/logs/
❗ 使用通配符时需加引号避免shell自动扩展
3. 复制整个目录
bash
docker cp /host/folder/ my-container:/target/path/
🔍 带斜杠/
复制目录内容,不带斜杠复制目录本身
注意事项
- 容器无需处于运行状态
- 默认使用root权限操作容器文件系统
-L
参数可跟随符号链接(Docker 17.05+)- 反向操作:
docker cp CONTAINER:SRC_PATH DEST_PATH
常见问题
Q:报错"no such directory"
确保容器路径存在或使用绝对路径:
bash
docker exec my-container mkdir -p /target/path
Q:权限不足
建议指定用户:
bash
docker exec -u root my-container chmod 777 /target
版权申明
本文系作者 @lili 原创发布在十指的世界站点。未经许可,禁止转载。
全部评论 1
哈哈
FireFox MacOS