【Docker小知识】(1)宿主机和容器的文件拷贝

这篇具有很好参考价值的文章主要介绍了【Docker小知识】(1)宿主机和容器的文件拷贝。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、说明

        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机制中却是不可取的,因为它有几个缺陷:

  • 这种交互是小规模的
  • 这种交互是静态的,无法在运行中频繁拷贝。
  • 操作指令过琐碎,即便写成脚本也无法胜任大规模云服务器的需求。

因此,引出容器数据卷这一重要概念,它在docker群的数据交换、共享等起了至关重要的作用。文章来源地址https://www.toymoban.com/news/detail-678450.html

到了这里,关于【Docker小知识】(1)宿主机和容器的文件拷贝的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Docker之宿主机与容器之间的文件复制与挂载

    宿主机与容器之间的文件挂载与复制 1、从宿主机复制到容器命令格式为:       docker cp 宿主机的本地地址 容器名/容器ID:容器路径  先在宿主机里面创建一个666.txt的文件,然后docker cp 命令把文件复制到容器中。 2、从容器复制到宿主机命令格式:      docker cp 容器名字

    2024年02月13日
    浏览(56)
  • k8s从容器里拷贝文件到宿主机

    在Kubernetes中从容器拷贝文件到宿主机通常使用 kubectl cp 命令。这个命令允许您将文件从Pod的容器复制到本地宿主机或相反。 下面是从容器中拷贝文件到宿主机的示例: 确定容器名称 :首先,确定您要拷贝文件的Pod名称和容器名称。您可以使用 kubectl get pods 命令来查看运行中

    2024年04月13日
    浏览(41)
  • 【Docker】docker容器内获取宿主机的信息和执行宿主机的脚本

    我们可以通过在容器内远程连接宿主机,然后对宿主机进行操作。 注意: 要先安装 sshpass命令才行。 Dockerfile文件可以在你部署容器的时候自动安装。 docker部署springboot项目

    2024年02月11日
    浏览(63)
  • 解决docker通过volumes挂载文件,宿主机修改后容器内不同步,重启服务才能同步

    将文件的权限改为777,即 chmod 777 filename 。 详细解释在该文章: https://huaweicloud.csdn.net/633114e5d3efff3090b51a5a.html 说明: 这是由于linux系统文件挂载机制导致的。 docker通过volumes挂载文件到容器中,有以下两种方式: 1、挂载目录 2、挂载具体文件:并不是挂载了某个文件的路径,

    2024年03月10日
    浏览(86)
  • Docker容器内执行宿主机指令

            最近项目有个需求,需要程序配置服务器IP并且可以重启服务器。如果程序直接部署在服务器,相信大家都会操作。但是程序是用docker运行的,在docker中执行指令就很麻烦了。这时候需要添加容器一些特殊的权限和执行一些特殊的命令就可以执行宿主机上面的指令

    2024年02月09日
    浏览(56)
  • Jenkins容器使用宿主机Docker

    构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可。 设置Jenkins容器使用宿主机Docker 设置宿主机docker.sock权限: 添加数据卷

    2024年01月18日
    浏览(50)
  • docker 容器与宿主机时间同步

    1.docker run 2.Docker file 3.docker-compose 4.宿主机直接执行命令给某个容器同步时间 注意:这种方式需要重启容器 docker exec -it 70ec41893d66 /bin/bash 回车后输入date验证即可

    2024年02月08日
    浏览(55)
  • docker容器共享宿主机环境(目录挂载)

    一、背景介绍 如果开发的服务均需要将打成docker镜像,可是随着服务越来越多,镜像也越来越多。每次制作镜像的时候都需要将依赖打进容器,这样一个jre的环境就是100多M。有一天突发奇想,容器能不能共用宿主机的环境?这样每次打镜像时体积就会少不少。 二、测试 我们

    2024年02月09日
    浏览(62)
  • Docker第一讲 Docker容器间/容器与宿主机ping不通解决

    通过容器ip访问 容器重启后,ip会发生变化。通过容器ip访问不是一个好的方案。 通过宿主机的ip:port访问 通过宿主机的ip:port访问,只能依靠监听在暴露出的端口的进程来进行有限的通信。 通过link建立连接(官方不推荐使用) 运行容器时,指定参数link,使得源容器与被链接

    2024年02月11日
    浏览(48)
  • docker 容器无法通过 IP 访问宿主机

    一次部署项目过程中,将Java项目与中间件服务部署在同一远程机器上,出现连接不上中间件服务的问题,而项目在本地运行时是可以连接的,没有问题。 这是因为项目与服务都是通过docker容器运行的,而docker 容器无法通过 IP 访问宿主机(貌似高版本解决了这个问题),所以

    2024年02月09日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包