`
angelguo
  • 浏览: 120486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

docker实现容器与宿主机互传文件

 
阅读更多

Docker实践2中使用-v参数将主机与容器中相关目录联系在一起(挂载),所以我们可以用这个通道将想要互相拷贝的数据放入其中,这样就可以用cp命令来复制文件了。

除了这个办法,我们还可以分别用不同的命令来拷贝数据。

从容器中像主机拷贝数据

Docker提供了cp命令,用法如下:
# docker ps
CONTAINER ID        IMAGE                     COMMAND                CREATED             STATUS              PORTS                         NAMES        
a77a72ac178c        tutum/apache-php:latest   "/run.sh"              21 hours ago        Up 21 hours         0.0.0.0:8080->80/tcp          phpapache_phpapache_1
# docker-enter a77a72ac178c
root@a77a72ac178c:~# ls /var/www/html
index.php  logo.png
root@a77a72ac178c:~# exit
logout

# docker cp a77a72ac178c:/var/www/html /var/www/
# ls /var/www/
app  download  index.html
# ls /var/www/app/
index.php  logo.png

从主机向容器中拷贝数据

这里要使用一个docker提供的神奇通道来完成主机向容器的数据传输。 
首先要用docker inspect方法获得容器的完整id,

 inspect   Return low-level information on a container

然后用/var/lib/docker/aufs/mnt/通道来完成拷贝。 
举例如下:

# docker inspect -f '{{.Id}}' a77a72ac178c
a77a72ac178c1e35708d2af446197c10239b0b1bd8932104578e334b83eb93a2
# cp docker/docker-start.sh /var/lib/docker/aufs/mnt/a77a72ac178c1e35708d2af446197c10239b0b1bd8932104578e334b83eb93a2/root/
# docker-enter a77a72ac178c
# pwd
/root
# ls
docker-start.sh
分享到:
评论

相关推荐

    Docker容器访问宿主机网络的方法

    在Docker容器和宿主机之间进行网络通信是容器化技术中经常遇到的问题,尤其是在容器内部应用需要访问宿主机上的网络服务时。本文将详细介绍两种常见的方法来解决Docker容器访问宿主机网络的问题。 首先,我们了解到...

    docker容器入门与实践期末考试总复习.docx

    Docker 容器技术的架构可以分为三层:物理机、宿主机操作系统和 Docker 引擎。Docker 引擎是容器的核心组件,负责容器的创建、管理和销毁。Docker 引擎可以将应用程序打包成一个容器,实现了跨平台分发使用。 在...

    docker容器与宿主机的数据交互方式总结

    前言 在生产环境中使用 Docker ,往往需要对数据进行...# 宿主机文件 copy to 容器内 docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH OPTIONS说明: -L :保持源目标中的链接 操作示例: 宿主机到容器 容器到宿

    实现跨宿主机多docker容器间数据共享

    ### 实现跨宿主机多Docker容器间的数据共享 #### 概述 本文将详细介绍如何在不同的宿主机之间实现多个Docker容器之间的数据共享。为了达成这一目标,我们将使用GlusterFS作为网络文件系统,它能够提供分布式、可...

    解决Mac下 docker 无法 ping 通宿主机的问题

    这个问题通常是因为Docker for Mac使用的是一个轻量级的Linux虚拟机,它与macOS之间的通信是通过socket文件实现的,这种机制可能导致网络隔离,从而使得容器无法直接与宿主机进行`ping`操作。为了解决这个问题,我们...

    论文研究-基于Docker的容器云平台设计与实现 .pdf

    容器与虚拟机不同,它不依赖于一个完整的操作系统,而是共享宿主机的操作系统内核,从而实现了资源利用的高效和环境部署的快捷。 Docker容器技术相较于传统虚拟化技术如KVM、XEN等具有显著的优势,比如轻量化、高...

    docker cp:从容器复制文件到宿主机,从宿主机复制文件到容器

    在学习的过程中遇到这个问题,创建容器的时候没有挂载宿主机目录,导致在宿主机与容器之间无法进行文件共享,于是就想到如何从容器复制文件到宿主机或者从宿主机复制文件到容器。方法虽然简单,记录在博客中分享给...

    Docker容器修改配置文件的实现

    Docker容器修改配置文件的实现涉及的关键知识点可以从以下方面进行详细阐述: 1. Docker容器的基本概念:Docker是一种开源的容器化平台,它允许开发者打包应用及其依赖包到一个可移植的容器中,然后在任何支持...

    windows宿主机和docker容器设置挂载共享文件夹的步骤

    接下来,一步步实现将宿主机的指定文件夹挂载到docker容器中。 1. 打开Oracle VM VitualBox: 2. 点击【设置】->点击左侧的【共享文件夹】 3. 双击默认的【c/Users \\?\c:\Users】,进行编辑,这里设置D盘下的data...

    在docker容器中调用和执行宿主机的docker操作

    通过这种方式,即使群辉系统阻止了对系统目录的直接挂载,我们仍然能够在Docker容器中调用和执行宿主机的Docker操作,实现了Docker-in-Docker的配置。这种方法不仅适用于群辉系统,也可以作为其他有类似限制环境下的...

    docker的安全管理

    虚拟机通过添加 Hypervisor 层,虚拟出网卡、内存、CPU 等虚拟硬件,再在其上建立 虚拟机,每个虚拟机都有自己的系统内核 ...而 docker 容器与宿主机共享内核、文件系统等资源, 更有可能对其他容器、宿主机产生影响。

    PHP docker容器内调取宿主机SHELL命令行

    shell在测试服务器的宿主机上,PHP是放到docker容器内的,这就让人很无奈了,秉着办法总比困难多的思想,整理出了几个思路。 1:在宿主机上部署PHP环境,这样PHP和shell不存在跨容器的情况,但是这样就破坏掉先有的...

    修改已有docker容器中的内容方法

    注:docker中宿主机与容器(container)互相拷贝传递文件的方法 1、从容器拷贝文件到宿主机 docker cp mycontainer:/opt/testnew/file.txt /opt/test/ 2、从宿主机拷贝文件到容器 docker cp /opt/test/file.txt ...

    docker centos7 配置和宿主机同网段IP.docx

    在本文中,我们将深入探讨如何在CentOS 7系统上配置Docker,使Docker容器与宿主机处于相同的网段,从而实现更好的网络互通性。 首先,我们要创建一个桥接网络,这是让Docker容器与宿主机位于同一网段的关键步骤。在...

    docker服务端口映射到宿主机脚本文件

    docker服务启动后,当在docker服务中装了其他相应的组件,比如zookeeper,jprofiler等,需要重新映射端口,直接执行一下脚本文件即可 sh mapping_port.sh 容器名:3306 10.50.1.14:3306,执行完成后,我们就可以通过...

    虚拟化容器docker视频.zip

    目录网盘文件永久链接 docker-day1 01-容器简介.mp4 ...02-docker跨宿主机容器之间的通信之macvlan.mp4 03-docker跨主机通信overlay网络.mp4 04-docker容器编排docker-compose.mp4 ..................

    解决Docker容器时区及时间不同步问题的方法

    再查看宿主机时间是正确,这样肯定是容器启动时未将时区与宿主机保持同步了,由于测试镜像是由dockfile直接构建,因此问题基本了定准在dockerfile文件上了。 打开dockerfile检查后发现确实确失与宿主机时区同步设置...

    详解Docker容器的日志处理

    这里先说明一下,当容器运行时,docker会在宿主机上创建一个该容器相关的文件,然后将容器产生的日志转存到该文件下。docker logs -f 命令就会找到该文件内容并显示在终端上。 我们都知道docker logs -f会将所有对应...

    Docker:容器化革命的引领者.pdf

    Docker容器与宿主机共享操作系统内核,但拥有独立的文件系统、网络接口和资源限制,这样既保证了容器的隔离性,又提高了资源利用率。 Docker的核心组件包括: Docker守护进程(Daemon):负责管理容器的生命周期。...

    Docker安装MySQL 8.0.20详细教程

    Docker容器默认会继承宿主机的时区设置,因此容器内的时间会与宿主机保持同步。无需额外配置,即可确保容器时间的准确性。 五、挂载数据文件,持久化到主机 通过挂载宿主机目录到容器内的数据目录,可以实现MySQL...

Global site tag (gtag.js) - Google Analytics