文章目录
- 前言
- 一、拉取Tomcat 9.0镜像
- 二、运行容器化Tomcat服务器
- 三、访问Tomcat官网首页测试
- 总结
前言
`运行容器化Tomcat服务器,首先确保正确安装docker,并且已启动运行,具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配置与测试实例》。本次实测环境如下:
1、宿主机win10,谷歌浏览器,IP地址为192.168.157.1
2、VMware Workstation pro17
3、安装1个虚拟机OpenEuler 24.03,IP地址为192.168.157.128
4、xshell7
具体实验思路如下:
虚拟机OpenEuler 24.03中安装docker,OpenEuler在这里成为docker的宿主机, 使用docker命令拉取Tomcat9.0镜像,设置容器与宿主机的端口映射,运行容器化Tomcat,进入容器内部,通过修改容器内Tomcat的配置文件,实现在Win10浏览器中能够访问Tomcat服务器,显示Tomcat官网效果。示意图如下:
一、拉取Tomcat 9.0镜像
使用Docker命令拉取Tomcat 9.0镜像:
docker pull tomcat:9.0
拉取Tomcat 9.0镜像成功,如图所示:
二、运行容器化Tomcat服务器
运行Tomcat服务的命令行如下:
docker run -d --name tomcat001 -p 8081:8080 tomcat:9.0
在Docker中,docker run
命令用于创建一个新的容器并运行一个命令。下面是对命令参数进行逐一说明:
-
docker run
:这是Docker命令,用于运行一个新的容器。 -
-d
:这个选项告诉Docker在后台运行容器,即以“分离模式”运行。 -
--name tomcat001
:这个选项为容器指定一个名称,这里是tomcat001
。如果不指定,Docker会自动生成一个名称。 -
-p 8081:8080
:这个选项用于端口映射。8081:8080
表示将容器内部的8080端口映射到宿主机的8081端口。这样,您可以通过访问宿主机的8081端口来访问容器中的Tomcat服务。 -
tomcat:9.0
:这是要运行的Docker镜像的名称和标签。这里指定的是tomcat
镜像的9.0
版本。
综上所述,这条命令的作用是在后台启动一个名为tomcat001
的容器,使用tomcat:9.0
镜像,并设置端口映射,使得宿主机的8081端口对应容器的8080端口。这样,您可以通过访问宿主机的8081端口来访问Tomcat服务。
执行完成命令,通过docker ps查看容器目录挂载情况,如图所示:
三、访问Tomcat官网首页测试
在win10中的浏览器中访问`http://192.168.157.128:8081,检查Tomcat9.0是否正常工作。结果如图所示:
上图说明,Tomcat9.0配置出现问题,进入tomcat001容器,查看Tomcat配置情况:
docker exec -it tomcat001 /bin/bash
下面是对Docker命令的注释说明:
-
docker exec
:这是Docker命令,用于在已经运行的容器中执行命令。 -
-it
:这是两个选项的组合。-i
:保持容器的标准输入(STDIN)打开,即使不附加到容器终端。-t
:分配一个伪终端(pseudo-TTY),使得您可以像使用终端一样与容器内的进程交互。
-
tomcat001
:这是您想要执行命令的容器的名称。在这个例子中,您想要在名为tomcat001
的容器中执行命令。 -
/bin/bash
:这是您想要在容器内部执行的命令。/bin/bash
是大多数Linux系统的默认shell,这个命令会启动一个bash会话,允许您在容器内部执行命令。
这条命令的作用是启动一个交互式的bash会话,连接到名为tomcat001
的容器中。直接在容器的命令行界面中执行命令,就像您直接在物理机或虚拟机上操作一样。
进入Tomcat配置目录/usr/local/tomcat/webapps查看:
root@b77e9a1f7e54:/usr/local/tomcat/webapps# ls
发现该目录下要为空目录,需要拷贝/usr/local/tomcat/webapps.dist目录下文件及子目录至/usr/local/tomcat/webapps下:
cp -r webapps.dist/* webapps
注意:
cp命令需要用到-r参数,因为webappa.dist目录下不但有文件,还有子目录,因此使用-r参数,递归拷贝所有的文件及子目录。
再次在win10中的浏览器中访问`http://192.168.157.128:8081,结果如图所示:
说明成功访问到Tomcat官网首页,至此,Docker下安装Tomcat已完成。
总结
以上内容为Docker容器化Tomcat运行的全部流程,如果需要测试一个具体web项目,还要完成宿主机与Docker容器的目录挂载,发布一个web应用,具体实现步骤可参阅笔者的《实测运行容器化Nginx服务器》步骤二。