前言:
此时看官们对“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/文件下
在宿主机内查看
测试成功
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。