数码知识屋
霓虹主题四 · 更硬核的阅读氛围

Docker复制文件到容器:实用操作指南

发布时间:2025-12-10 23:08:21 阅读:0 次

ref="/tag/2019/" style="color:#643D3D;font-weight:bold;">Docker复制文件容器的常用方法

在日常开发中,经常需要把本地配置文件、脚本或者代码推送到正在运行的Docker容器里。比如你改了一个Nginx的配置,想立刻生效,但又不想重建整个容器,这时候直接复制文件就成了最省事的办法。

Docker 提供了 docker cp 命令,可以像使用 cp 一样轻松完成主机和容器之间的文件传输。

从主机复制文件到容器

假设你有一个名为 app.js 的文件,想把它复制进一个正在运行的 Node.js 容器中,容器名字是 my-node-app,目标路径是容器内的 /app/ 目录。

docker cp app.js my-node-app:/app/

执行后,文件就会出现在容器的指定位置。这个过程就像用微信传文件一样直接,不需要进容器内部操作。

从容器复制文件到主机

反过来也一样。如果容器里生成了日志或数据文件,你想拿回本地分析,也可以用 docker cp

docker cp my-node-app:/app/logs/error.log ./local-logs/

这条命令会把容器中 /app/logs/error.log 文件复制到宿主机当前目录下的 local-logs 文件夹。

复制整个目录

不只是单个文件,整个文件夹也能复制。比如你要更新静态资源:

docker cp ./static my-node-app:/app/public/

这样就把本地的 static 目录内容完整复制到了容器的 /app/public/ 下,适合前端打包后快速部署调试。

注意事项

复制的文件权限会保留原始设置,有时可能导致容器内程序无法读取。遇到这种情况,可以进入容器手动用 chmod 调整权限。

另外,如果容器已经停止,docker cp 依然可用。Docker 会自动挂载容器的文件系统来完成操作,所以不必担心容器状态影响复制。

对于频繁的文件同步需求,比如开发阶段实时更新代码,建议配合 volume 挂载更高效。但临时传一两个文件,docker cp 依然是最快的选择。