📜  使用 cmd 将文件从 docker 容器复制到主机 (1)

📅  最后修改于: 2023-12-03 15:06:45.628000             🧑  作者: Mango

使用 cmd 将文件从 Docker 容器复制到主机

在 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_PATHDEST_PATH 表示文件路径,CONTAINER 表示容器名称或容器 ID。

示例

假设我们需要将容器内部的 /home/myapp/config.yml 文件复制到主机的 /opt/config/ 目录中,可以按如下步骤操作:

  1. 进入要操作的容器中:
docker exec -it container-name /bin/bash
  1. 在容器中查看文件所在路径:
ls -l /home/myapp
  1. 退出容器,使用以下命令将文件从容器中复制到主机中:
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 容器复制到主机上非常方便,只需按照上述的语法和示例,就可以实现容器与主机之间的文件互传。同时,需要提醒大家的是,在进行文件复制操作时,要注意文件的读写权限问题,避免文件无法被正确复制或再次使用。