前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker(16)- docker cp 命令详解

Docker(16)- docker cp 命令详解

作者头像
小菠萝测试笔记
发布2020-11-11 15:29:43
6.1K0
发布2020-11-11 15:29:43
举报

作用

在容器和主机之间复制文件/文件夹

语法格式

代码语言:javascript
复制
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
重点
  • 容器 container 可以是正在运行或已停止的容器
  • SRC_PATH 或 DEST_PATH可以是文件或目录
  • 该命令会假定容器路径相对于容器的 /(根)目录
  • 而主机路径则是相对于执行 docker cp 命令的当前目录
options 说明

option

作用

-a

存档模式(复制所有uid / gid信息)

-L

保持源目标中的链接

备注:暂时没发现这两个 options 有啥用

SRC_PATH 和 DEST_PATH 的讲解

SRC_PATH 指定一个文件

若 DEST_PATH 不存在

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

若 DEST_PATH 不存在,并以 / 结尾

错误:目标目录必须存在

若 DEST_PATH 存在并且是一个文件

目标被源文件的内容覆盖

若 DEST_PATH 存在并且是目录

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

SRC_PATH指定目录

若 DEST_PATH 不存在

将 DEST_PATH 创建为目录,并将源目录的内容复制到该目录中

若 DEST_PATH存在并且是一个文件

错误:无法将目录复制到文件

若 DEST_PATH存在并且是目录
  • SRC_PATH 不以 结尾,源目录复制到此目录

/.

  • SRC_PATH 以 结尾,源目录的内容被复制到该目录中

/.

实际栗子

从容器复制文件到主机

已存在的目录
代码语言:javascript
复制
docker cp tomcat7:usr/local/tomcat/README.md ./
不存在的目录
代码语言:javascript
复制
docker cp tomcat7:usr/local/tomcat/README.md test/
已存在的文件
代码语言:javascript
复制
docker cp tomcat7:usr/local/tomcat/README.md test.txt

从主机复制文件到容器

代码语言:javascript
复制
docker cp test.txt tomcat7:/

从主机复制目录到容器

目标目录不存在
代码语言:javascript
复制
docker cp test tomcat7:test/
目标是一个文件
代码语言:javascript
复制
docker cp test tomcat7:polo
目标目录已存在
代码语言:javascript
复制
docker cp test tomcat7:test/

从容器复制目录到主机

代码语言:javascript
复制
docker cp tomcat7:/usr/local/tomcat/webapps.list /usr/local/ 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作用
  • 语法格式
    • 重点
      • options 说明
      • SRC_PATH 和 DEST_PATH 的讲解
        • SRC_PATH 指定一个文件
          • 若 DEST_PATH 不存在
          • 若 DEST_PATH 不存在,并以 / 结尾
          • 若 DEST_PATH 存在并且是一个文件
          • 若 DEST_PATH 存在并且是目录
        • SRC_PATH指定目录
          • 若 DEST_PATH 不存在
          • 若 DEST_PATH存在并且是一个文件
          • 若 DEST_PATH存在并且是目录
      • 实际栗子
        • 从容器复制文件到主机
          • 已存在的目录
          • 不存在的目录
          • 已存在的文件
        • 从主机复制文件到容器
          • 从主机复制目录到容器
            • 目标目录不存在
            • 目标是一个文件
            • 目标目录已存在
          • 从容器复制目录到主机
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档