Docker cp命令详解:在Docker容器和主机之间复制文件/文件夹

这篇具有很好参考价值的文章主要介绍了Docker cp命令详解:在Docker容器和主机之间复制文件/文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

简介

Docker是一种流行的容器化平台,它允许开发人员在独立、可移植的环境中构建、打包和部署应用程序。在使用Docker时,常常需要在Docker容器和主机之间进行文件的复制和共享。Docker提供了一个名为docker cp的命令,可以轻松地在容器和主机之间复制文件和目录。本文将详细介绍docker cp命令的使用方法和常见示例。

docker cp命令

docker cp命令是Docker提供的一个用于在主机和容器之间复制文件和目录的命令。它的语法如下:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
  • CONTAINER,可以是正在运行或已停止的容器,名称或ID均可
  • SRC_PATH,源文件或目录在容器内的路径
  • DEST_PATH,目标路径在主机上的位置

注:docker cp命令会假定容器路径相对于容器的 /(根)目录,主机路径则是相对于执行 docker cp 命令的当前目录

options可用参数

  • -a:将复制的文件或目录保留其原始属性,包括所有者、权限等。
  • -L:如果SRC_PATH是一个符号链接,则复制链接指向的文件或目录。
  • -p:保留源文件或目录的时间戳。
  • -R-r:递归复制整个目录。

SRC_PATH & DEST_PATH

SRC_PATHDEST_PATHdocker cp命令关键的部分,路径是否正确关系到命令能否运行成功,下面我们来分析这两个路径的各种情况,并说明各种情况下是否能成功复制。

SRC_PATH 指定一个文件时
  1. DEST_PATH 不存在

创建 DEST_PATH 所需的文件夹,文件正常保存到 DEST_PATH

  1. DEST_PATH 不存在,并以 / 结尾

命令将报错,目标目录必须存在

  1. DEST_PATH 存在并且是一个文件

目标被源文件的内容覆盖

  1. DEST_PATH 存在并且是目录

使用 SRC_PATH 中的基本名称将文件复制到此目录中

SRC_PATH指定目录
  1. DEST_PATH存在并且是目录时,复制将正常复制
  • SRC_PATH 不以 /. 结尾,源目录复制到此目录
  • SRC_PATH 以 /. 结尾,源目录的内容被复制到该目录中
  1. DEST_PATH存在并且是一个文件时,复制将报错,因为无法将目录复制到文件中

  2. DEST_PATH 不存在时,将新创建 DEST_PATH 为路径的目录,并将源目录的内容复制到该目录中

使用示例

从容器复制文件到主机
  1. 主机目录已存在

我们要将tomcat_mullerusr/local/tomcat/README.md文件复制到主机的study目录下,命令如下:

docker cp tomcat_muller:usr/local/tomcat/README.md ./

运行命令,结果如下图,成功复制到指定目录下:

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

  1. 主机目录不存在,不以/结尾

我们要将tomcat_mullerusr/local/tomcat/README.md文件复制到主机的study/test目录下,命令如下:

docker cp tomcat_muller:usr/local/tomcat/README.md ./test

运行命令,结果如下图,我们成功在study目录下创建了test目录,并且文件成功复制到了指定目录下

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

  1. 主机目录不存在,并且以/结尾

我们要将tomcat_mullerusr/local/tomcat/README.md文件复制到主机的study/test/路径下,命令如下:

docker cp tomcat_muller:usr/local/tomcat/README.md ./test/

运行命令,结果如下图,因为路径不存在,所以会报错,没有这个目录

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

  1. 复制到已经存在的文件中
docker cp tomcat_muller:usr/local/tomcat/README.md test.txt

运行命令,结果如下:

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

复制目录的操作与复制文件的类似,这里不做赘述。

从主机复制文件到容器

我们要将主机study下的test.txt文件复制到容器中,命令如下:

docker cp test.txt tomcat_muller:/

运行命令,结果如下图:
dockers cp,docker容器技术,docker,容器,单元测试,人工智能

从主机复制目录到容器
  1. 目标目录不存在

我们要将主机的study/hogwarts目录复制到容器的test目录中,命令如下:

docker cp hogwarts tomcat_muller:test/

运行命令,结果如下图:

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

  1. 目标目录为一个文件

我们要将主机的study/hogwarts目录复制到容器的muller中,命令如下:

docker cp hogwarts tomcat_muller:muller/
  1. 目录已存在

我们要将主机的study/hogwarts目录复制到容器的/hogwarts中,命令如下:

docker cp hogwarts tomcat_muller:/hogwarts/

运行命令结果如下:

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

从容器复制目录到主机

我们将tomcat_muller容器中的webapps.dist目录复制到主机的usr/local/study中,命令如下:

docker cp tomcat_muller:/usr/local/tomcat/webapps.dist /home/muller/study

运行命令,结果如下图:

dockers cp,docker容器技术,docker,容器,单元测试,人工智能

总结

docker cp命令是在Docker容器和主机之间复制文件和目录的便捷工具。通过简单的命令和参数,我们可以轻松地在容器和主机之间传输文件。本文介绍了docker cp命令的语法和常见选项,并提供了几个示例以帮助大家更好地理解其用法。通过灵活使用docker cp命令,我们可以轻松地在Docker环境中进行文件操作和共享。

获取更多软件测试技术资料/面试题解析,请点击!

dockers cp,docker容器技术,docker,容器,单元测试,人工智能文章来源地址https://www.toymoban.com/news/detail-842744.html

到了这里,关于Docker cp命令详解:在Docker容器和主机之间复制文件/文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker:将文件从 Docker 容器复制到主机

    我正在考虑使用 Docker 在持续集成 (CI) 服务器上构建我的依赖项,这样我就不必在代理本身上安装所有运行时和库。 为了实现这一点,我需要将容器内构建的构建工件复制回主机。那可能吗? 与HuntsBot一起,探索全球自由职业机会–huntsbot.com 为了将文件从容器复制到主机,您

    2024年02月02日
    浏览(33)
  • 如何将文件从主机复制到 Docker 容器?

    我正在尝试为我们使用的 Docker 容器构建备份和恢复解决方案。 我有我创建的 Docker 基础映像 ubuntu:base,并且不希望每次都使用 Docker 文件重新构建它以向其中添加文件。 我想创建一个从主机运行的脚本,并使用 ubuntu:base Docker 映像创建一个新容器,然后将文件复制到该容器中

    2024年02月02日
    浏览(43)
  • Linux cp命令教程:如何复制文件和目录(附案例详解和注意事项)

    cp 命令在Linux中用于复制文件或目录。它的全称是 copy ,意为复制。使用 cp 命令,你可以将文件或目录从一个位置复制到另一个位置。 cp 命令在所有主流的Linux发行版中都是可用的,包括但不限于Ubuntu, Debian, Fedora, CentOS等。在大多数系统中, cp 命令是预装的,无需额外安装。

    2024年02月03日
    浏览(36)
  • Docker宿主机复制(单个文件夹/多个文件/单个文件)到容器

    我的JPEGImages里面包含了多张图片,下面的指令将宿主机JPEGImages目录下的所有文件和子目录复制到7a7608e0bf84容器的/home/PaddleSeg/input/目录下 使用多行docker cp指令 docker cp 容器ID或名称:容器源路径 宿主机目标路径 docker cp 宿主机目标路径 容器ID或名称:容器源路径

    2024年02月08日
    浏览(43)
  • cp 命令 – 复制文件或目录

    cp 命令用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r 参数用于递归操作,复制目录时若忘记加则会直接报错,而 -f 参数则用于当目标文件已存在时会询问,输入 y 确定覆盖,这两个参数尤为常用。 目录 一、语法格式 二、常用参数 三、命令实

    2024年02月11日
    浏览(39)
  • cp命令 – 复制文件或目录

    cp命令是英文单词copy的缩写,用于将一个或多个文件/目录复制到指定位置,也常用于文件的备份工作。 注意:该命令不能用于跨主机文件复制,仅用于同一主机内的文件复制。 该命令的语法格式如下 常用选项如下所示: 选项 作用 -f 若目标文件已存在,则强行覆盖原文件

    2024年02月06日
    浏览(50)
  • Linux cp命令:复制文件和目录

    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。 cp 命令的基本格式如下: 选项: -a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍; -d:如果源文件为软链接(对硬链接无效),则复制

    2024年02月06日
    浏览(39)
  • cp命令 复制多个目录/文件夹下文件到指定目录

    可以使用cp命令的通配符和递归选项来复制多个目录下多个文件夹下的文件到指定目录。 如果目标目录不存在,可以使用 mkdir -p命令来创建目录。 -p 选项表示递归创建目录,如果目录已经存在,则不会报错。 例如,以下命令会复制 /path/to/dir1和 /path/to/dir2 下的所有子目录中的

    2024年02月12日
    浏览(51)
  • linux下一次复制cp多个文件(含scp命令)

    linux cp 参数说明 一.常用复制/备份命令 高级备份语句 :  linux下使用cp命令拷贝多个文件有几种方法,一是使用通配符,二是使用管道 一.通配符的使用 通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。主要的通配符有: *         匹配任意长度的字符串

    2024年02月16日
    浏览(39)
  • docker命令(查看容器状态stats、容器的导入导出、docker容器的详细信息inspect、docker cp命令的使用)

    目录 查看docker容器状态: docker镜像的导入导出  第一种导入导出(是docker本地的静态) 第二种导出导入 (这种导出是正在运行的容器里的文件系统变成一个归档文件(可以包含已经下载好的软件)) docker容器的详细信息: 命令: 设置docker容器资源限制,再通过inspect查看 d

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包