一、说明
docker cp 命令用于在本地文件系统与 Dokcer容器 之间复制文件或者文件夹。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
二、 宿主机和容器的关系叙述
- 宿主机是容器的托管环境,容器运行在宿主机上。容器的创建、启动、停止、销毁等操作都是在宿主机上进行的。
- 容器是一种轻量级的虚拟化技术,它可以在同一个宿主机上运行多个相互隔离的应用程序。容器之间共享操作系统内核和硬件资源,但具有独立的文件系统、网络和进程空间。
- 宿主机提供了容器需要的资源和环境,包括计算资源、存储资源、网络资源等。容器利用宿主机的资源运行应用程序,同时受到宿主机的限制和管理,例如,容器无法访问宿主机之外的资源,容器的网络配置受限于宿主机的网络配置等。
总之,宿主机看待容器就如同看一般的进程,因此,通过进程ID可以作为路径访问。
三、宿主机和容器的文件拷贝
3.1 Docker cp 命令实体
docker cp :用于容器与主机之间的数据拷贝。
1 语法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
OPTIONS说明:
-
-L :保持源目标中的链接
2 实例
在宿主机中创建目录:/home/www
在宿主机目录/home/www创建一个文件:abc.txt,然后copy到容器中
- 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
- 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
- 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
2.2 Docker cp命令的伴随参数说明
docker cp命令参数
参数 | 描述 |
---|---|
-a, --archive | 归档模式(复制所有UID / GID信息) |
-L, --follow-link | 总是跟在源地址符号链接 |
- docker cp 命令类似于 Linux 中的 cp -a 命令,递归复制目录下的所有子目录和文件。
- docker cp 命令中的
-
表示通过标准输入/输出设备以流的方式读取或写入tar
文件。 - 本地文件系统中的路径可以是绝对路径,也可以是相对路径,相对于当前命令执行的路径。
- 容器中的路径都是相对容器的
/
根路径。 - docker cp 命令操作的容器可以是在运行状态,也可以是停止状态。
- docker cp 命令不能复制 /proc、 /sys、 /dev、 tmpfs 和容器中 mount 的路径下的文件。
虽然以上用cp命令将宿主机数据拷贝到容器内部,但是作为大规模的docker机制中却是不可取的,因为它有几个缺陷:文章来源:https://www.toymoban.com/news/detail-678450.html
- 这种交互是小规模的
- 这种交互是静态的,无法在运行中频繁拷贝。
- 操作指令过琐碎,即便写成脚本也无法胜任大规模云服务器的需求。
因此,引出容器数据卷这一重要概念,它在docker群的数据交换、共享等起了至关重要的作用。文章来源地址https://www.toymoban.com/news/detail-678450.html
到了这里,关于【Docker小知识】(1)宿主机和容器的文件拷贝的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!