docker-运行tomcat服务
环境说明
linux系统版本:lsb_release -a
docker 版本: docker -v
不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。
.1.tomcat镜像版本选择。
进入docker官网搜索 8-jdk8
自己选择的版本如下
docker pull tomcat:8-jdk8
可以正确拉取。
.2.启动tomcat 服务。
docker run --name tomcat8 -d -p 8086:8080 tomcat:8-jdk8
参数解释:
docker run 表示运行docker容器
--name tomcat8 给容器取一个名字
-d 表示以后台模式启动
-p 8086:8080 表示将宿主机上的8086端口映射到容器中的8080端口
tomcat:8-jdk8 表示以某个镜像启动tomcat服务,不指定的话,一般会以最新镜像启动,没有机会自动去下载镜像。
.3.登录阿里云服务器,打开8086端口。
控制台-->我的资源-->点击(实例)进入-->安全组-->安全组详情-->手动添加(入站规则)
.4.访问测试。
报404错误。
进入容器内查看,发现webapps目录下面为空,需要自己添加需要运行的war包。
docker exec -it tomcat8 /bin/bash
根据网友的建议,可以把 webapps.dist目录下面的内容复制到webapps目录中。
执行命令
rm -rf weapps
mv webapps.dist webapps
直接将webapps.dist目录覆盖掉 webapps 目录
.5.重新启动tomcat服务,再次访问。
如果想运行某一个war包,只需要把war包放在/opt/u01/exam/tomcat 路径下,执行如下的命令即可。
docker run --name tomcat8 \
-d \
-v /opt/u01/exam/tomcat:/usr/local/tomcat/webapps \
-p 8086:8080 tomcat:8-jdk8
参数解释:
-v /opt/u01/exam/jenkins:/usr/local/tomcat/webapps 表示将宿主机上的目录挂载到tomcat容器下面的/usr/local/tomcat/webapps目录中
参考博文:
https://cloud.tencent.com/developer/article/2225836
https://cloud.tencent.com/developer/article/1834280