cp
命令结构
docker cp <容器名或ID>:<容器内文件路径> <本地目标路径>
docker cp
:Docker 的复制命令,用于在容器和主机之间传输文件。docker_ubuntu:/root/test.txt
:docker_ubuntu
:容器的名称(也可以用容器ID替代,如abcd1234
)。/root/test.txt
:容器内的文件路径(这里是容器中root
用户目录下的test.txt
文件)。
.
:本地目标路径,表示复制到当前命令行所在的目录。
执行效果
- Docker 会从名为
docker_ubuntu
的容器中,找到/root/test.txt
文件。 - 将该文件复制到宿主机的当前目录(
.
)下,文件名保持为test.txt
。
注意事项
容器状态:
- 即使容器处于停止状态(
Exited
),docker cp
仍然可以工作。
- 即使容器处于停止状态(
路径问题:
如果容器内路径或本地路径包含空格或特殊字符,需要用引号包裹,例如:
docker cp "docker_ubuntu:/root/my file.txt" .
反向操作:
如果要将本地文件复制到容器内,调换参数顺序即可:
docker cp ./test.txt docker_ubuntu:/root/
示例场景
假设你正在调试一个容器中的应用程序日志:
sh
# 将容器内的日志文件复制到本地分析
docker cp my_app:/var/log/app/error.log ./debug_logs/
# 修改后,将修复后的配置文件传回容器
docker cp ./fixed_config.conf my_app:/etc/app/
sh
docker cp docker_ubuntu:/root/test.txt .