临时需要将我的后台文件夹webroot传到docker已有的tomcat下。从没接触过docker的我。。从百度docker是什么开始。。。docker教程
简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
在我理解,docker就是一个虚拟的容器,通过镜像将内部容器映射出来。
实践
全程每一步都靠百度。。一步一步来吧。。
- 查看docker的web容器
docker ps
正在运行的容器。比没有运行的容器多端口参数。
[root@biweb tmp]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f48b2dcc919 centos "/bin/bash" 18 hours ago Up 17 hours 0.0.0.0:80->8080/tcp centos91
5e785feac1d4 tomcat:8.5.24 "catalina.sh run" 18 hours ago Up 18 hours 0.0.0.0:88->8080/tcp tomcat82
[root@biweb tmp]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cbbfefecbb42 centos "/bin/bash" 18 hours ago Exited (137) 18 hours ago centos93
b75027f8db5e centos "/bin/bash" 18 hours ago Created centos92
3f48b2dcc919 centos "/bin/bash" 18 hours ago Up 17 hours 0.0.0.0:80->8080/tcp centos91
ecf92f8901bb centos "/bin/bash" 18 hours ago Exited (137) 18 hours ago centos9
5e785feac1d4 tomcat:8.5.24 "catalina.sh run" 18 hours ago Up 18 hours 0.0.0.0:88->8080/tcp tomcat82
- 进入docker容器内部
根据容器的ID
和COMMAND
进入对应的容器内部
[root@biweb ~]# docker exec -it 3f48b2dcc919 /bin/bash
[root@3f48b2dcc919 /]# //已经进入容器内
- 找到tomcat所在文件夹以及webapps目录
到webapps
目录下,用pwd
获取路径信息
[root@3f48b2dcc919 webapps]# pwd
/usr/local/src/apache-tomcat-8.5.40/webapps
- 退出docker容器
[root@3f48b2dcc919 webapps]# exit
- 把本地文件拷贝到docker下webapps目录下
要将webroot
文件夹上传到docker,先进入webroot
所在的tmp
文件夹。执行以下命令:
[root@biweb tmp]# docker cp webroot 3f48b2dcc919:/usr/local/src/apache-tomcat-8.5.40/webapps
- 衍生:docker容器中文件拷贝到本地
逆向执行5的步骤,即将webroot
拷贝到本地tmp
中。
[root@biweb tmp]# docker cp 3f48b2dcc919:/usr/local/src/apache-tomcat-8.5.40/webapps/webroot /usr/tmp
问题
docker容器内如何模糊查找文件夹?
因为不知道tomcat安装在哪里。。find没能找到tomcat文件。。最终没能解决。。问了同事手动找到的。。