引言:
本文是基于docker分布式系统部署的教程,文章包含理论与实践部分,适用于高校教学、企业应用等场景,欢迎大家批评指正。
正文:
- 理论:
本文介绍docker拉取Tomcat的过程及命令。
思路:先从镜像源中拉取Tomcat镜像,然后用容器运行;当第一次访问localhost:8081时发现无法访问,分析方向为目录可能存在不正确情况,于是进入容器查看容器配置及目录,发现默认的webapps目录为空,接着发现webapps.dist有完成的启动目录结构,于是删除原有的webapps,将webapps.dist重命名为webapps来替换原有的,经过测试,访问成功!
掌握的命令:
1、docker run -itd -p 外部端口:内部端口 --name 重命名 --privileged 镜像名称
参数解释:
-d:在后台运行容器。
-i:交互式运行。
-t:可终端操作
--name=zhongxin01:给容器命名为"zhongxin01"。
-p 8081:8080:将容器的8081端口映射到主机的8080端口。这样,你就可以通过访问主机
--privileged:授权
2、docker cp 源容器id:源路径 目标路径
Tomcat文件目录结构:
Tomcat的webapps目录下有几个默认文件夹,分别有什么用途,稍微看一下即可
- 实验:
目标一:使用docker拉取Tomcat:
第1步、使用docker pull命令拉取Tomcat,例:
docker pull Tomcat
如图所示:
第2步、使用Tomcat镜像并运行容器,例:
docker run -itd -p 8081:8080 --name zhongxin01 --privileged tomcat
如图所示:
第3步、进入容器中,修改Tomcat配置,如图所示:
分别执行以下命令:
cd ../
cd webapps.dist
ls
cd ../
rm -rf webapps
mv webapps.dist webapps
【注意,进入容器除上述通过软件进入外,也可以通过命令进入,如下图所示:】
#命令解释:
docker exec -it 16603d0cc83d /bin/bash #16603d0cc83d为容器id,查看容器id可以用docker ps
通过命令进入后,可同样执行第3步的流程。
第4步、访问浏览器测试(localhost:8081):
访问成功!
目标二:使用docker建立多个Tomcat同时运行
注:继目标一实验后完成:
第1步、新增一个Tomcat服务,加上上个Tomcat,一共需要2个。
附:docker run -itd -p 8082:8080 --name zhongxin02 --privileged tomcat
第2步、查看容器id,一会我们需要用上
第3步、为了区分原始默认index.jsp文件,我们需要建立一个index.html,首先进入第一个容器建立index.html然后将该文件复制到第二个容器。
第4步、将容器内的webapps文件夹复制到本地上
附:docker cp ae24d6ebd7c5:/usr/local/tomcat/webapps E:\
此时我们可以去E盘目录下验证webapps是否复制过来:
第5步、将本地的webapps复制到目标容器的Tomcat文件夹下,替换原有的webapps
附:docker cp E:\webapps 6b5ec3097eb9:/usr/local/tomcat/
第6步、访问第2个容器的地址,能够成功访问!
由于页面是新建的,并没有写入任何内容,所以看到的是空的!
注:转载本文请注明出处!