📅  最后修改于: 2023-12-03 15:06:45.628000             🧑  作者: Mango
在 Docker 中运行的应用程序通常都需要访问主机上的文件,而有时候又需要在容器内部进行一些数据处理,这时就需要将主机上的文件复制到容器中进行操作,或者将容器内部的文件复制到主机中。本文就介绍如何使用命令行工具 cmd 将文件从 Docker 容器复制到主机上。
在 Docker 中,使用 docker cp
命令将文件复制到容器中,使用 docker cp
命令将文件从容器中复制回主机。
语法如下:
# 将文件从主机复制到容器中
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
# 将文件从容器中复制到主机中
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
其中,SRC_PATH
和 DEST_PATH
表示文件路径,CONTAINER
表示容器名称或容器 ID。
假设我们需要将容器内部的 /home/myapp/config.yml
文件复制到主机的 /opt/config/
目录中,可以按如下步骤操作:
docker exec -it container-name /bin/bash
ls -l /home/myapp
docker cp container-name:/home/myapp/config.yml /opt/config/
其中,container-name
为容器名称或容器 ID。
下面是常用的参数说明:
-L, --follow-link
针对符号链接进行操作(Linux 的特性)。-p, --preserve
保留源文件或目录的元数据。-q, --quiet
显示最少的信息。-r, --recursive
递归拷贝整个目录。--no-parents
不在目录名称中包含 ".."。详细信息,可对命令进行 docker cp --help
查看。
使用 cmd 工具,将文件从 Docker 容器复制到主机上非常方便,只需按照上述的语法和示例,就可以实现容器与主机之间的文件互传。同时,需要提醒大家的是,在进行文件复制操作时,要注意文件的读写权限问题,避免文件无法被正确复制或再次使用。