Docker拷贝宿主机与容器中的文件

如果我们需要将宿主机文件拷贝到容器内可以使用 docker cp 命令,也可以将文件从容器内拷贝到宿主机

将宿主机文件拷贝到容器内

docker cp 要拷贝的宿主机文件或目录  容器名称:容器文件或目录

  1. 在宿主机上创建一个mengxuegu文件并写入内容

  

  

  2. 将mengxuegu文件拷贝进 mycentos2 容器中的 /opt 目录下(mycentos2要是UP启动状态)

  

  3. 登录 mycentos2 容器,查看/opt目录下是否有 mengxuegu 文件

  

  

从容器内文件拷贝到宿主机

docker cp 容器名称:要拷贝的容器文件或目录 宿主机文件或目录

  1. 向 mycentos2 容器中的 mengxuegu 文件进行追加内容abc (要登录进容器中)

  

  2. 需要使用 exit 先退出 docker 容器命令行,回到宿主机

  

  3. 从容器拷贝mengxuegu文件到宿主机的 /opt 目录下(在宿主机中操作)

    docker cp mycentos2:/opt/mengxuegu /opt/mengxuegucopy

  

  注意:文件拷贝 docker cp 命令 均在宿主机中操作

原文地址:https://www.cnblogs.com/116970u/p/10868904.html

时间: 2024-10-05 17:59:07

Docker拷贝宿主机与容器中的文件的相关文章

Docker 与 宿主机之间的文件cp

Docker 与 宿主机之间的文件cp 第一种方法是官方比较推荐的,其实和第二种方法实现是一样的. 第一种方法例: 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下. docker cp /www/runoob 96f7f14e99ab:/www/ 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www. docker cp /www/runoob 96f7f14e99ab:/www 将容器96f7f14e99ab的/www目录

如何在docker和宿主机之间复制文件

如何在docker和宿主机之间复制文件 最近在用Docker布署hadoop,要将文件上传到HDFS首先文件得在Docker容器中吧,网上提供的方法差不多有三种 1.用-v挂载主机数据卷到容器内 2.直接在主机上拷贝到容器物理存储系统 3.用输入输出符 具体方法这篇文章写的很详细:http://blog.csdn.net/yangzhenping/article/details/43667785 但是对这三种方法我都不太喜欢,无意间看到另位一种方法供大家参考: 从主机复制到容器sudo dock

无需安装 vsftpd , 直接使用 FTP 来管理 docker 容器中的文件

无图无真相,先放个效果图: 背景 使用 docker 来跑一些服务很方便,但是有的时候想管理容器里面的文件却很麻烦 -- 一般常规做法有3种: 通过数据卷或数据卷容器的方式 启动容器的时候时候启动 vsftpd 或者 sshd 等服务,并开启端口映射,然后通过 ftp/sftp 连上去管理 进入容器的终端,通过命令行管理 但是这些做法都有一定的缺陷和不便: 1和2都是需要在启动容器的时候做一些配置,如果容器已经启动了就歇菜了.而且2需要额外的端口映射,占用主机的端口.3的做法比较 geek ,而

docker拷贝宿主与容器中的文件

从容器里面拷文件到宿主机 语法:docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 例子:容器名为ubuntu,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将test.js从容器里面拷到宿主机的 /opt 路径下面 在宿主机上面执行命令 docker cp ubuntu:/usr/local/tomcat/webapps/test/js/test.js /opt 从宿主机拷文件到容器里面

docker技术剖析--docker网络(二)docker宿主机之间容器互通

http://hongge.blog.51cto.com/ 多台物理主机之间的容器互联(暴露容器到真实网络中) docker 默认的桥接网卡是 docker0 .它只会在本机桥接所有的容器网卡,举例来说容器的虚拟网卡在主机上看一般叫做 vethxxx,而 docker 只是把所有这些网卡桥接在一起,如下: 这样就可以把这个网络看成是一个私有的网络,通过 nat 连接外网,如果要让外网连接到容器中,就需要做端口映射,即 -p 参数. 如果在企业内部应用,或则做多个物理主机的集群,可能需要将多个物理

docker同宿主机容器和不同宿主机容器之间怎么通信?

第一部分 docker有四种网络模式第一种:bridge 模式当docker进程启动时,主机上会创建一个名为docker0的虚拟网桥,容器内部会创建一个只能容器内部看到的接口eth0,eth0 和docker0工作方式就像物理二层交换机一样,可以互相通信. 命令执行过程:#docker run -tid --net=bridge --name docker_bri1 ubuntu-base:v3#docker run -tid --net=bridge --name docker_bri2 ub

docker挂载宿主机文件夹到容器里面

docker run -d -p 8090:8080 -v /[宿主机文件绝对路径]:/[容器路径] --name [新名字] [容器名字] 例子 docker run -d -p 8090:8080 -v /usr/webapps/app1:/usr/local/tomcat/webapps --name tomcat1 docker.io/tomcat 进入容器指令 docker exec -it [容器名字] /bin/basha 注意:项目部署在tomcat下 记得放在ROOT文件夹下面

docker 访问宿主机网络

使用宿主机IP 在安装Docker的时候,会在宿主机安装一个虚拟网关docker0,我们可以使用宿主机在docker0上的IP地址来代替localhost. 首先,使用如下命令查询宿主机IP地址: ifconfig 可以发现宿主机的IP是172.17.0.1,那么将proxy_pass http://localhost:1234改为proxy_pass http://172.17.0.1:1234就可以解决502 Bad Gateway错误. 但是,不同系统下宿主机的IP是不同的,例如Linux

docker常用命令整理-在容器中使用service命令

在docker中使用centos镜像启动了容器并安装了相关软件,之后想用service命令启动相关服务却收到如下错误: 通过多方搜索,根据网上给出的解决方案处理无效.后加入docker中国QQ交流群咨询,无效.最后找docker命令相关文档,终于解决了问题,赶紧记录下拉. 解决方案: 1.以后台方式启动容器: # docker run -itd -p 15672:15672 -p 5672:5672 --privileged=true centos/rabbitmq /usr/sbin/init