分布式系统教程 第四章

发布于:2024-10-09 ⋅ 阅读:(14) ⋅ 点赞:(0)

引言:

        本文是基于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个容器的地址,能够成功访问!

由于页面是新建的,并没有写入任何内容,所以看到的是空的!

注:转载本文请注明出处!