`
angelguo
  • 浏览: 113713 次
  • 性别: 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 ,往往需要对数据进行...# 宿主机文件 copy to 容器内 docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH OPTIONS说明: -L :保持源目标中的链接 操作示例: 宿主机到容器 容器到宿

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

    首先这个帖子,献给docker新手。当然如果你是一个老手,文中分割线后的操作方法也是一种思路。...实现这种需求,其实非常简单,你只需要将docker宿主机的docker文件和docker.sock文件挂载到容器中即可,具体为:

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

    抛弃docker for mac自带的linux虚拟机(尽管轻量,但其与OSX通信采用socket文件的方式),使用docker-machine 安装virtualbox。virtualbox创建后,会添加一个虚拟网卡,可以通过ifconfig命令查看。我们实现的方式,...

    docker的安全管理

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

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

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

    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 cp:从容器复制文件到宿主机,从宿主机复制文件到容器

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

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

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

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

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

    详解Docker容器的日志处理

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

    详解Docker容器跨主机通信的方法

    默认情况下Docker容器需要跨主机通信两个主机节点都需要在同一个网段下,这时只要两个Docker容器的宿主机能相互通信并且该容器使用net网络模式,改实现方式为网桥模式通信; 除此之外我们还可以通过使用第三方工具为...

    Docker安装MySQL 8.0.20详细教程

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

    liu1084#pages_on_everyday#2019-11-20-Docker容器 - 容器时间跟宿主机时间同步1

    在dockerfile文件里添加下面内容:设置时区保存后,利用docker build命令生成镜像使用即可,使用dockerfile创建的镜像的容器改变了容器的

    在宿主机上执行docker容器内部的shell或程序方式

    为了避免反复进入docker容器内部操作,可以将一系列容器内部的指令由宿主机来操作完成。 在宿主机(作者主机为windows7)上执行centos容器(name为centos-1)中/usr目录下的“printer”可执行程序,该程序输出为打印...

    深入理解docker容器中的uid和gid

    默认情况下,容器中的进程以 root 用户权限运行,并且这个 root 用户和宿主机中的 root 是同一个用户。听起来是不是很可怕,因为这就意味着一旦容器中的进程有了适当的机会,它就可以控制宿主机上的一切!本文我们将...

    docker配置nginx静态文件服务.docx

    Docker创建nginx静态文件服务容器,让容器中的nginx使用宿主机的nginx配置文件,宿主机创建 /usr/local/mapping/conf/nginx-fs/nginx.conf

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

    -v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。 -d 在run...

    Docker搭建SRS视频服务器

    Docker 搭建 SRS(Simple Realtime Server)视频服务器是一种便捷的部署方式,利用 Docker 容器化技术可以快速实现流媒体服务环境的一键安装与运行。SRS 是一个高性能、易于扩展的实时流媒体服务器,支持 RTMP、...

    详解docker nginx 容器启动挂载到本地

    主要介绍了详解docker nginx 容器启动挂载到本地,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics