龙空技术网

浅谈docker中宿主机和容器之间互相copy文件的两种方式,欢迎补充

双主双机热备 304

前言:

此时看官们对“dockerfile copy 覆盖”大体比较关注,姐妹们都需要学习一些“dockerfile copy 覆盖”的相关内容。那么小编同时在网上搜集了一些有关“dockerfile copy 覆盖””的相关资讯,希望你们能喜欢,你们快快来了解一下吧!

在dokcer的日常使用过程中,我们可能会遇到将宿主机内文件/目录copy到容器内,或者将容器的文件/目录copy到宿主机中,下面我们就来简单的谈一下关于这种情况的两种操作。

1、Docker cp命令:

用于容器与主机之间的数据copy

语法:

docker cp [OPTIONS] container:src_path dest_path

docker cp [OPTIONS] src_path container:dest_path

OPTIONS说明:

-L :保持源目标中的链接

测试:

以tomcat为例:

docker run -d -p 80:8080 hub.c.163.com/library/tomcat

进入容器

docker exec -it edf7 bash

测试:

1.1、将容器内文件copy到主机

以webapps文件夹为例

查看路径

pwd:/usr/local/tomcat/webapps

在主机内执行如下命令

docker cp edf7eac1beb1:/usr/local/tomcat/webapps /tmp

查看tmp目录

如下所示

1.2、将主机内文件copy到容器

在odysee家目录创建一个localFile文件

将localFile copy到/usr/local/tomcat/

docker cp localFile edf7eac1beb1:/usr/local/tomcat/

切换到容器内查看

如下图所示

2、 -v挂载主机数据卷到容器

可以直接挂载宿主机文件或目录到容器里,可以理解为目录映射。这样就可以让所有的容器共享宿主机数据,从而只需要改变宿主机的数据源就能够影响到所有的容器数据。

映射关系:

宿主机文件/目录:容器里对应的文件/目录

注意:

宿主机上的文件/目录是要提前创建

容器里对应的文件/目录会自动创建

2.1、创建挂载目录

在odysee家目录下创建一个vol目录

在目录里创建一个文件volFile并输入一句话

2.2、启动容器

这里的image以centos为例

docker run -i -t --name vol

-v /home/odysee/vol:/etc/vol

centos /bin/bash

查看容器内volFile文件

将volFile copy到容器/根下

将容器内的tmp/yum.log文件copy到etc/vol/文件下

在宿主机内查看

测试成功

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

标签: #dockerfile copy 覆盖 #dockerfile copy from