Docker中宿主机与容器之间互传文件(docker cp的方式)

场景

CentOS中使用Docker来部署Tomcat:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119108232

在上面使用docker部署tomcat后,如果想将宿主机中的war包复制到容器中,

或者需要从tomcat的容器中将某文件复制到宿主机中怎么实现。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

宿主机复制到容器

在宿主机中执行

docker cp 宿主机中的文件的路径 容器id:容器中的路径

比如这里在宿主机下的usr下有个war包叫geoserver.war

需要将此war包复制到tomcat的容器中webapps路径下

这里tomcat已经启动,查看运行中的容器

docker ps

可以获取到tomcat的容器id

然后在宿主机中

docker cp /usr/geoserver.war 39f5b723d1b8:/usr/local/tomcat/webapps

这里需要注意一点这里的容器内的路径是用的全路径,不能直接用/webapps

怎么查看容器内的全路径,首先进入容器

docker exec -it 39f5b723d1b8 /bin/bash

然后执行

whereis tomcat

这样就能获取到tomcat的完整路径

然后退出容器使用

exit

这样就能从宿主机中将war包复制到tomcat容器中

 

从容器中复制到宿主机

在宿主机中执行

docker cp 容器id:容器内文件路径 宿主机内路径

比如这里要将tomcat容器内的webapps/docs/index.html文件复制到宿主机中的/usr路径下

docker cp 39f5b723d1b8:/usr/local/tomcat/webapps/docs/index.html /usr

博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/15069254.html