Docker(16)- docker cp 命令详解

简介: Docker(16)- docker cp 命令详解

如果你还想从头学起 Docker,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1870863.html

 

作用


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

 

语法格式


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 以 /. 结尾,源目录的内容被复制到该目录中

 

实际栗子


从容器复制文件到主机

已存在的目录

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

image.png

不存在的目录

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

image.png

已存在的文件

docker cp tomcat7:usr/local/tomcat/README.md test.txt

 

从主机复制文件到容器

docker cp test.txt tomcat7:/

image.png

从主机复制目录到容器

目标目录不存在

docker cp test tomcat7:test/

image.png

目标是一个文件

docker cp test tomcat7:polo

image.png

目标目录已存在

docker cp test tomcat7:test/

image.png

从容器复制目录到主机

docker cp tomcat7:/usr/local/tomcat/webapps.list /usr/local/

相关文章
|
3天前
|
Linux 持续交付 Go
Docker常用命令总结
这篇文章总结了Docker的基本操作,包括Docker的简介、镜像、容器和仓库的概念。介绍了如何在CentOS上安装和卸载Docker,以及常用Docker命令,如查看和删除镜像、运行和管理容器、文件拷贝和日志查看。还提供了一个curl命令示例来测试本地容器服务。完整内容请参考原文链接:[Docker命令总结](https://blog.csdn.net/javayoungcoolboy/article/details/134975314)。
|
7天前
|
运维 Linux Shell
Docker详解(七)——Docker辅助命令
Docker详解(七)——Docker辅助命令
21 4
|
12天前
|
存储 Shell Docker
docker 部署单节点的etcd以及 常用使用命令
在 Docker 中部署单节点的 etcd 以及一些常用命令的操作,可以按照以下步骤进行: ## 一、部署单节点 etcd 1. **拉取 etcd Docker 镜像**:您可以从 Docker Hub 拉取 etcd 的官方镜像。 ```shell docker pull quay.io/coreos/etcd:latest ``` 2. **启动 etcd 容器**:使用 `docker run` 命令来启动 etcd 容器。以下是一个示例命令,其中将容器的 2379 端口映射到主机的 2379 端口: ```shell docker run -d \
|
12天前
|
NoSQL Linux Shell
2.Docker常用命令(linux)
2.Docker常用命令(linux)
|
14天前
|
存储 运维 Linux
Docker详解(六)——Docker高级控制命令
Docker详解(六)——Docker高级控制命令
20 2
|
14天前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
18天前
|
Ubuntu Linux Shell
Docker 镜像及其命令
Docker 镜像及其命令
57 0
|
18天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
24 1
|
18天前
|
关系型数据库 MySQL Linux
[Docker] 的常用命令
[Docker] 的常用命令
|
19天前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs <container_name>` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
17 0