容器与宿主机间文件相互拷贝|学习笔记

简介: 快速学习容器与宿主机间文件相互拷贝

开发者学堂课程【深入解析 Docker 容器化技术容器与宿主机间文件相互拷贝】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/659/detail/10944


容器与宿主机间文件相互拷贝

 

容器与宿主机间文件相互拷贝

接下来进行容器的其他操作讲解,如容器与宿主机的文件相互拷贝,下面画图进行说明:

比如在宿主机 centos 上创建容器 c1,如果想将宿主机上的1.txt 文件复制到容器 c1,可以使用 docker cp 命令,或者另外一种可能将容器 c1的2.txt 文件拷贝到宿主机上,如图:

image.png

那么如果需要将文件拷贝到容器可以使用 cp 命令,命令为 docker cp 指定需要拷贝的文件或者目录,再空格指定要将文件拷贝到的目的容器名称以及那个容器目录下。反过来将文件从容器内拷贝出来,则为 docker cp 加上容器名称,容器目录,以及目录下的文件,和需要拷贝到宿主机的那个目录下,下面进行命令演示。

因为之前讲解时本机上面已经没有容器了,所以首先要创建一个容器,如:

[root@localhost ~]# docker run -itd --name=c1 centos /bin/bash

g5adc191b4bf78504 Scaae5bc3cf a3d3cd2 5c2ff597 257 8f 24baa39037b5d353

创建 c1后进行查看,如:

[root@localhost ~]# docker ps

CONTAINER ID  IMAGE    COMMAND  CR…           NAMES

c5adc191b4bf  centos   "/bin…      2 seconds ago…    c1

说明创建成功。然后在 c1容器下创建1.txt 文件,如:

[root@localhost ~]# touch 1.txt

[root@localhost ~]# ll

total 12

-rw-r--r--. 1 root   0 Sep 18 22:35 1.txt

此时进入容器中,可以看到 c1容器的 root 目录下什么都没有,如:

[root@localhost ~]# docker exec -it /c1/bin/bash

[root@c5adc191b4bf ~]# cd root/

[root@c5adc191b4bf ~]# ll

total 4

-rw-------. 1 root 3415 Aug 1 01:10 anaconda-ks.cfg

接下来再拷贝1.txt 文件到容器 c1的 root 目录,如:

[root@localhost ~]# docker cp 1.txt c1:/root

回到容器中再查看 root 下的文件会发现出现1.txt 文件,如:

[root@c5adc191b4bf ~]# ll

total 4

-rw-r--r--. 1 root    0 Sep 19 05:35 1.txt

-rw-------. 1 root 3415 Aug 1 01:10 anaconda-ks.cfg

说明文件拷贝成功。那么从容器拷贝到宿主机也是可以的,首先要做容器 c1下创建文件2.txt,如:

[root@c5adc191b4bf ~]# touch 2.txt

[root@c5adc191b4bf ~]# ll

total 4

-rw-r--r--. 1 root    0 Sep 19 05:35 1.txt

-rw-r--r--. 1 root    0 Sep 19 05:36 2.txt

……

此时2.txt 创建成功。然后将c1容器的root目录下2.txt 文件拷贝到宿主机 root 目录下,如:

[root@localhost ~]# docker cp c1:/root/2.txt /root

然后再查看宿主机的全部文件,如:

[root@localhost ~]# ll

total 12

-rw-r--r--. 1 root    0 Sep 18 22:36 2.txt

可以查看到2.txt 文件,说明拷贝成功。以上就是容器与宿主机间文件相互拷贝的讲解内容。

相关文章
|
自然语言处理 算法
向量检索服务的优缺点
使用向量检索服务的好处是它可以将文本信息转化为向量表示,并进行相似度计算。这使得能够高效地搜索与查询进行语义匹配的文本
1469 3
|
应用服务中间件 Linux 网络安全
部署一个网页Docker+Nginx
在docker中运行一个nginx容器,部署一个网页
910 0
部署一个网页Docker+Nginx
|
NoSQL 关系型数据库 MySQL
Docker-compose封装mysql和redis并初始化数据
Docker-compose封装mysql和redis并初始化数据
888 0
|
缓存
IDEA找不到或无法加载主类
IDEA找不到或无法加载主类
4690 0
IDEA找不到或无法加载主类
|
4月前
|
SQL 存储 分布式计算
九、HQL DQL七大查询子句
Hive 查询写得清楚,数据分析就能更顺手。我们这次从入门角度出发,带你理清 Hive 中最常用的七个查询子句(FROM、WHERE、GROUP BY、HAVING、SELECT、ORDER BY、LIMIT),结合执行顺序梳理每一步的用法与注意事项。每个子句都有配套案例,还有实战练习题帮你快速上手。如果你刚开始学习 Hive 查询,或希望把基础打得更扎实,这篇内容值得收藏。
227 9
|
Go 数据安全/隐私保护
Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合
Openssl encryption 是 OpenSSL 库的功能包装,支持对称加密算法(AES、DES、3DES)的 ECB 和 CBC 模式。提供简便的 Go 语言接口,用于加密和解密操作。安装命令:`go get -u github.com/forgoer/openssl`。示例代码展示了 AES-ECB、AES-CBC 等模式的使用方法,支持 PKCS7 填充。
426 116
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
877 3
|
存储 持续交付 数据安全/隐私保护
Docker 注册中心
【8月更文挑战第24天】
449 0
|
Kubernetes 网络协议 容器
[kubernetes]服务健康检查
[kubernetes]服务健康检查
329 0